首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

如何把一个MethodInfo转换成EventHandler啊

2012-01-02 
怎么把一个MethodInfo转换成EventHandler啊。。。。通过反射我得到一个函数的MethodInfo,这个函数实际上是个Ev

怎么把一个MethodInfo转换成EventHandler啊。。。。
通过反射我得到一个函数的MethodInfo,这个函数实际上是个EventHandler,如下
public void clickEventHandler(object sender,EventArgs arg)

我用type.GetMethod("clickEventHandler")得到了MethodInfo,但我现在需要把这个method做为
EventHandler传给另一个函数,怎么转换?强制类型转换不行啊

[解决办法]
可以用Delegate的静态方法CreateDelegate()来创建一个委托:

C# code
 
object target = this;                                  // 委托所在的对象,如果不是当前对象,要改动
Delegate del = Delegate.CreateDelegate(typeof(EventHandler), target, methodInfo);    // 创建一个EventHandler类型的委托
EventHandler myMethod = del as EventHandler;
button2.Click += myMethod;                              // 传给另一个函数,或订阅一个事件

[解决办法]
顶1楼的
[解决办法]
探讨
怎么给分???

热点排行