委托(2)委托链

来源:互联网 发布:thinkphp直播系统源码 编辑:程序博客网 时间:2024/06/05 06:01

using System;
delegate void Eatdelegate(string food);

class Mydelegate
{
 public static void zsEat(string food)
 {
  Console.WriteLine("张三吃"+food);
 }
  public static void lsEat(string food)
   {
    Console.WriteLine("李四吃"+food);
   }
  public static void wwEat(string food)
   {
    Console.WriteLine("王五吃"+food);
   }
}

class Test
{
 static void Main()
 {
  Eatdelegate zs=new Eatdelegate(Mydelegate.zsEat);
  Eatdelegate ls=new Eatdelegate(Mydelegate.lsEat);
  Eatdelegate ww=new Eatdelegate(Mydelegate.wwEat);
  Eatdelegate eatChain;//声明一个委托链,不需要对它进行实例化
  eatChain=zs+ls+ww;//把zs,ls,ww这几个委托实例加到eatChain委托链里
  eatChain("西瓜");//调用委托链,按照以上+的先后顺序去调用以上的方法
 }
}