C#多播委托

一个委托调用多个方法

例如:

Action a=test1;  
a+=test2;  //增加一个新方法,按顺序执行,只能得到最后一个方法的值
a-=test2;  //减去一个方法
//当a为空时会报错,如果一个方法出错,其余不会调用

取得一个多播委托的所有方法: GetInvocationList()返回值为Delegate 数组

//得到多播委托a里面的所有方法然后逐一执行
Delegate[] delegates=a.GetInvocationList();
foreach(Delegate d in delegates)
{
        d.DynamicInvoke(参数数组); 

}    
原文地址:https://www.cnblogs.com/lichuangblog/p/8653383.html