浅谈委托和事件之委托链

 

一、委托链的概念                                                                               

将多个方法捆绑到同一个委托对象上,形成委托链,当调用这个委托对象时,将依次调用委托链中的方法。如下代码:
MSDN上也把这种方式翻译为合并委托或者是多路广播委托,参看: http://msdn.microsoft.com/zh-cn/library/ms173175.aspx
 

二、代码解释:                                                                                  

1、在Publisher声明一个委托PublishBook
2、在Program中实现两个方法ReadCSharpBook和ReadJavaBook
3、在Main函数中实例化委托利用运算符“+=”形成委托链。
4、调用委托链pck()。
 
   1: /*
   2:  * Date: 2011-07-07
   3:  * Time: 11:29
   4:  * Create by xiangyun
   5:  */
   6: using System;
   7:  
   8: namespace LearnDelegate
   9: {
  10:     public class Publisher
  11:     {
  12:         public delegate void  PublishBook();
  13:     }
  14:  
  15:     class Program
  16:     {
  17:         public static void ReadCSharpBook()
  18:         {
  19:             Console.WriteLine("Im Reading C Sharp Book Now!!");
  20:         }
  21:         public static void ReadJavaBook()
  22:         {
  23:             Console.WriteLine("Im Reading Java Book Now!!");
  24:         }
  25:         public static void Main(string[] args)
  26:         {
  27:             Publisher.PublishBook pck = new Publisher.PublishBook(Program.ReadCSharpBook);
  28:             pck+= new Publisher.PublishBook(Program.ReadJavaBook);
  29:             pck();
  30:             Console.Write("Press any key to continue . . . ");
  31:             Console.ReadKey(true);
  32:         }
  33:     }
  34: }

三、推荐文章:                                                                                 

http://www.cnblogs.com/wangiqngpei557/archive/2011/04/29/2032762.html

转载于:https://www.cnblogs.com/xiangyun/archive/2011/07/07/2099968.html

你可能感兴趣的:(浅谈委托和事件之委托链)