如何创建多播委托。 delegate objects is that multiple objects can be assigned to one delegate instance by using the + operator." data-guid="7275ec8793d950faa87c46735d7959bb">委托对象的一个有用属性是:可以使用 + 运算符将多个对象分配给一个委托实例。 多播委托包含已分配委托的列表。 在调用多播委托时,它会按顺序调用列表中的委托。 只能合并相同类型的委托。
- operator can be used to remove a component delegate from a multicast delegate." data-guid="f921925e5aab70a7a7d34ffd38fac1c6">- 运算符可用于从多播委托中移除组件委托。
using System;
using System.Collections.Generic;
using System.Text;
using ConsoleApplication1;
namespace ConsoleApplication1
{
public delegate void Del(string s);
public class SampleEventArgs
{
public static void method1(string s)
{
Console.WriteLine("方法1:{0}",s);
}
public static void method2(string s)
{
Console.WriteLine("方法2:{0}",s);
}
public static void method3(string s)
{
Console.WriteLine("方法3:{0}",s);
}
public static void Main()
{
Del d1, d2, d3, d4;
d1 = method1;
d2 = method2;
d3 = d1 + d2;//将多个对象分配给一个委托实例,在调用多播委托时,它会按顺序调用列表中的委托
d4 = d3 - d2;//- 运算符可用于从多播委托中移除组件委托。
d1("A");
d2("B");
d3("C");
d4("D");
Console.ReadKey();
}
}
}