链式委托

什么是链式委托?

链式委托是指一个委托的链表,而不是指另一类特殊的委托。 当执行链上的一个方法时,后续委托方法将会被依次执行。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 }

 

posted @ 2015-05-01 18:40  礼花弹  阅读(379)  评论(0)    收藏  举报