本文主要是介绍C#多播委托(Multicast Delegate),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
委托可以包含多个方法,这种委托称为多播委托。如果调用多播委托,就可以按顺序连续调用多个方法。为此,委托的签名必须返回void,否则就只能得到委托调用的最后一个方法的结果。
多播委托可以使用运算符“+”和“+=”添加方法,也可以使用“-”和“-=”从委托中删除方法调用。
下面看一个具体例子:
namespace ConsoleApplication
{class MulticastDelegates{//声明一个委托,委托返回值为voidpublic delegate void Greetings(String name);public static void Hello(String name){Console.WriteLine("您好, {0}!", name);}public static void GoodBye(String name){Console.WriteLine("再见, {0}!", name);}public static void Main(){Greetings greetings = Hello;//使用+=给委托添加方法greetings += GoodBye;String name = "周杰伦";Console.WriteLine("这是一种调用方法:");greetings(name);Console.WriteLine("这是另一种使用方法");//返回委托的调用列表。Delegate[] delegates = greetings.GetInvocationList();//注意这里的delegates列表中存储的是Greetings类型的委托foreach (Greetings greeting in delegates){greeting(name);}}}
}
运行结果如下:
这篇关于C#多播委托(Multicast Delegate)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!