委托中的多播
委托是可以同时执行多个委托方法,设想一下你在完成一项业务功能时反复的在调用相托的一个委托,这时一件多么繁琐的事情,
C#
中的委托支持把这些委托合并起来调用一次即可这就称为多播委托,多播支持委托中的方法的任意添加和删减(+
和-),为什么它可以做到呢?因为
多播委托是一个派生于System.MulticastDelegate的类,它派生于基类
System.Delegate
。System.MulticastDelegate的其它成员允许把多个方法调用链接在一起,成为一个列表。
Dome:
class
Program
{
public delegate void MultGate();
static void Main(string[] args)
{
#region
多播
MultGate gate = CallMiss;
gate += ResponesMaster;
gate += SheComing;
gate();//
结果如下
//
把小姐找来
//
好的主人
//
小姐来了
//
下面删去第一个委托方法
gate -= CallMiss;
gate();//
结果如下
//
好的主人
//
小姐来了
#endregion
Console.ReadLine();
}
static void CallMiss()
{
Console.WriteLine("
把小姐找来"
);
}
static void ResponesMaster()
{
Console.WriteLine("
好的主人"
);
}
static void SheComing()
{
Console.WriteLine("
小姐来了"
);
}
}