摘要:
总结就是一句话:Type t = typeof(MyClass);获取对象的信息,MethodInfo[] mi = t.GetMethods();获取对象的方法数组,ParameterInfo[] pi = m.GetParameters();获得对应的方法的形参。然后通过foreach检索每个方法。
若想调用其中一个方法,则
它的一种形式: object Invoke(object obj,object [] paramenters)
obj 是一个对象引用,将调用它所指向的对象上的方法,对于static方法,obj必须为null。
所有需要传递给方法的参数都必须在parameters数组中指定。如果方法不需要参数,则paramenters必须为null
基类MethodBase的 Invoke()方法返回被调用方法的返回值 阅读全文
摘要:
所谓原子操作,即多线程中一旦开始执行就只能执行完毕,无法被中断和暂停的线程操作。 这样就能避免中途变量有改变一类的异常; Inerlocked属于threading空间。 用法如下: 例如,需要A+B,得出数据存储在A,则: Interlocked.Add(ref a, b); 需要A递增,则: I 阅读全文
摘要:
关于lock网上说法一大堆,但是关于实际用法的实例还是比较多的,但是多而不精,没说的很透彻,但是这个例子是对多线程中使用lock关键字是一个相当好的实例。很郁闷现在网上找到像样的文章都没有了,抄来抄去!!又不注明网址,还当自己的是原创!找个例子都找不到,还不如自己来~ 下面引入lock关键字的理论: 阅读全文
摘要:
C#(Winform)右键菜单的实现以及选中某项后勾选 这里使用ContextMenuStrip控件实现。 1.从工具箱拖拽一个ContextMenuStrip到Windows窗体上,并添加菜单项。 2.将ContextMenuStrip绑定到窗体或控件上(可以是Form,也可以是Panel、But 阅读全文