链式委托
什么是链式委托?
链式委托是指一个委托的链表,而不是指另一类特殊的委托。 当执行链上的一个方法时,后续委托方法将会被依次执行。System.Multicast Delegate定 义了对链式委托的支持。在System.Delegate的基础上,它增加了一个指向后续委托的指针,这样就实现了一个简单的链表结构。
1 using System; 2 3 namespace ConsoleApp1 4 { 5 public delegate void stopDelegate(); 6 class Program 7 { 8 static void Main(string[] args) 9 { 10 Console.WriteLine("Hello World!"); 11 12 stopDelegate stop = stopTV; 13 stopDelegate stop2 = stopLight; 14 stopDelegate stop3 = stopFan; 15 stopDelegate stopHead = stop + stop2 + stop3; 16 //链表头 17 stopHead(); 18 19 Console.Read(); 20 } 21 public static void stopTV() 22 { 23 Console.WriteLine("关闭电视机"); 24 } 25 public static void stopLight() 26 { 27 Console.WriteLine("关灯"); 28 } 29 public static void stopFan() 30 { 31 Console.WriteLine("关电扇"); 32 } 33 } 34 }

浙公网安备 33010602011771号