【C#】多播委托

多播委托,即是多路广播委托,即是委托可以包含多个方法,按照顺调用,多播委托只能得到最后一个方法的结果,如果其中有一个方法抛出异常,整个迭代就会停止。一般我们把多播委托的返回值声明为void

 

使用 += 添加一个委托的引用

使用 -=  删除一个委托的引用

 

static void Test1()
{
    Console.WriteLine("Test1");
}

static void Test2()
{
    Console.WriteLine("Test2");
}

static  Action action;
static void Main(string[] args)
{

    action += Test1;
    action += Test2;//添加一个委托的引用
   
    action();

    Console.WriteLine("------");

    action -= Test1;//删除一个委托的引用

    action();


    Console.ReadKey();

}

结果为

 

获取多播委托的所有方法,及调用

Delegate[] delegates = action.GetInvocationList();

foreach (Delegate item in delegates)
{
    item.DynamicInvoke();
}

 

相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页