怎么把一个MethodInfo转换成EventHandler啊。。。。
通过反射我得到一个函数的MethodInfo,这个函数实际上是个EventHandler,如下
public void clickEventHandler(object sender,EventArgs arg)
我用type.GetMethod("clickEventHandler")得到了MethodInfo,但我现在需要把这个method做为
EventHandler传给另一个函数,怎么转换?强制类型转换不行啊
[解决办法]
可以用Delegate的静态方法CreateDelegate()来创建一个委托:
object target = this; // 委托所在的对象,如果不是当前对象,要改动
Delegate del = Delegate.CreateDelegate(typeof(EventHandler), target, methodInfo); // 创建一个EventHandler类型的委托
EventHandler myMethod = del as EventHandler;
button2.Click += myMethod; // 传给另一个函数,或订阅一个事件