【委托】今天研究c#委托,手敲一个栗子

/// <summary>
    /// 委托是一个类,它定义了方法的类型,
    /// 使得可以将方法当作另一个方法的参数来进行传递,
    /// 这种将方法动态地赋给参数的做法,
    /// 可以避免在程序中大量使用If-Else(Switch)语句,
    /// 同时使得程序具有更好的可扩展性。
    /// </summary>
   public class Class1
    {
       public string str = string.Empty;
       #region 1
       public void GreetPeople(string s)
       {
           EnglishGreeting(s);
       }
       public void ChineseGreeting(string name)
       {
           Console.WriteLine("早上好, " + name);
       }
       public void EnglishGreeting(string s) 
       {
           str = "hello ";
       }
       #endregion


       #region 2
       public enum Languages
      {
        English,Chinese
      }
       public void ChineseGreetings(string name)
       {
            str = "早上好";
       }
       public void EnglishGreetings(string s)
       {
           str = "hello ";
       }
      public void GreetPeoples(string s, Languages l) 
      {
          switch (l) 
          {
              case Languages.English:
                  EnglishGreetings(s);
                  break;
              case Languages.Chinese:
                  ChineseGreetings(s);
                  break;
          }
      }
       #endregion


        #region 3
      public string ChineseGreetinges(string name)
      {
           str = "早上好";
      }
      public string EnglishGreetinges(string s)
      {
        return  str = "hello ";
      }
      public delegate string GreetingDelegate(string name);
      public string GreetPeopless(string name, GreetingDelegate l) 
      {
         return l(name);
      }

        #endregion


 后台:

Class1 c=new Class1();
MessageBox.Show(c.GreetPeopless("zrw", c.EnglishGreetinges));       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值