首页 > Windows开发 > 详细

C#简单多播委托

时间:2020-07-02 09:19:13      阅读:56      评论:0      收藏:0      [点我收藏+]

多播委托

定义

多播委托可以同时调用多个委托,但如果调用的是有返回值的方法,则的能得到最后一个方法的接过,一般我们把多播委托返回值声明为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#简单多播委托

原文:https://www.cnblogs.com/qjns/p/13222625.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!