您的位置:程序门 -> .net技术 -> c#



如何根据event名,动态invoke?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何根据event名,动态invoke?[已结贴,结贴人:mirricle]
发表于:2007-02-02 13:28:41 楼主
public   event   eventhandler <ordereventargs>   ordercanceled;

public   void   raiseordercanceledevent(string   orderid,   guid   instanceid)
{
        if   (ordercanceled   !=   null)
                ordercanceled(null,   new   ordereventargs(instanceid,   orderid));
}
有好几个这样的事件,想根据传入的事件名,如ordercanceled
通过反射来invoke

怎么做呢
发表于:2007-02-02 13:34:381楼 得分:30
methodinvoke
发表于:2007-02-02 13:35:222楼 得分:30
同上~
发表于:2007-02-02 13:37:393楼 得分:40
http://chs.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/howto/samples/winforms/threadmarshal/threadmarshal.src&file=cs\threadmarshal.cs&font=3
发表于:2007-02-02 13:43:094楼 得分:60
//利用methodinfo类来获得从指定类中符合条件的成员函数
methodinfo   mi   =   type.getmethod(   "functionwithparameter "   ,   bindingflags.public ¦bindingflags.instance   ,   null   ,  
                  new   type[]{   typeof(yourmethodparametertype)   }   ,   null   );
mi.invoke(   yourinstance   ,   new   object[]{   str   }   );
詳情請參見
http://blog.csdn.net/tjvictor/archive/2007/01/24/1492079.aspx
发表于:2007-02-02 13:45:145楼 得分:0
首先你要用string类的相应方法把raiseordercanceledevent分割成raiseordercanceled字符串,然后再用methodinfo来动态调用.我在博客里写得很清楚,不明白可以发短信。
发表于:2007-02-02 13:54:236楼 得分:40
methodinvoke

http://blog.csdn.net/jecray/archive/2005/07/15/425744.aspx


快速检索

最新资讯
热门点击