委托(二)

/*委托这个相对较复杂,准备考虑实用反射还是嵌套代理实现实例化人也一起做*/
using System;
using System.Collections.Generic;
using System.Text;

namespace Delegate
{
 delegate void EatDelegate(string AFood);
 class Program
 {
  static void Main(string[] args)
  {
   Man mZS = new Man("张三");    //实例一个对象
   Man mLS = new Man("李四");
   
   EatDelegate deleZS = new EatDelegate(mZS.Eat); //创建一个代理
   EatDelegate deleLS = new EatDelegate(mLS.Eat);
   EatToghter("香蕉", deleZS,deleLS);
   Console.ReadLine();
   
  }

  
  //用委托作为参数传递
  static void EatToghter(string AFood, params EatDelegate[] AParams)
  {
   if (AParams == null)
   {
    Console.WriteLine("座谈会结束!");
   }
   else
   {
    EatDelegate deleEatChain = null;
    foreach (EatDelegate deleEat in AParams)
    {
     deleEatChain += deleEat;
    }
    deleEatChain(AFood);
   }
  }
 }
 //创建一个对象类封装属性和方法
 class Man
 {
  private string sName;
  public Man(string AName)
  {
   this.sName = AName;
  }

  public void Eat(string AFood)
  {
   Console.WriteLine(sName + "在吃" + AFood);
  }
 }


}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值