C#简单多播委托

多播委托

定义

多播委托可以同时调用多个委托,但如果调用的是有返回值的方法,则的能得到最后一个方法的接过,一般我们把多播委托返回值声明为void。

注意:

如果多播委托调用的其中一个方法抛出了异常,整个迭代就会停止。

多播委托可以添加多个相同的委托。

无法添加不同类型的方法,比如int Test1(int i);int Test2(int i1,int i2);同一个多播委托无法同时添加Test1和Test2

如何取得多播委托中所有方法的委托

Action a = Method1;

a+=Method12;

....

 

Delegate[] delegates = a.GetInvocationList();

foreach(Delegate temp in delegates){

temp.DynamicInvoke();

}

遍历多播委托中的所有委托,然后单独调用

DynamicInvoke可在委托的具体类型不可知的情况下用过反射调用委托,很方便,但要慎用,因为对性能有极大影响。在能够确定委托类型的情况还是不要贪图方便使用DelegateDynamicInvoke为好。

来自博客:https://blog.csdn.net/lijing_hi/article/details/11889149

C#简单多播委托

上一篇:java如何实现从网络上下载图片----servlet实现


下一篇:python随笔:os.path中的realpath\dirname\join的学习