.Net常见问题之C#中的委托

2019-12-26 13:03:14于丽
  •   public void GetTel(GetTelphone getTelphone)    { 
  •     Console.WriteLine(getTelphone.Invoke());    } 
  • }  ?

    可以看到,GetTel方法的参数是一个委托类型的,和一般的基本类型和常见引用类型引用方式一样使用。然后再方法体执行委托方法,输出结果。

    菇凉类:
     

    1. /// <summary>  /// 菇凉 
    2. /// </summary>  class Girl 
    3. {    public string GetGirlTel() 
    4.   {      return "得到菇凉的电话"; 
    5.   }  } 
    ?

    小伙类:

      

    1. /// <summary>   /// 男屌丝 
    2.  /// </summary>   class DiaoSi 
    3.  {     public string GetBoyTel() 
    4.    {       return "得到男屌丝的电话"; 
    5.    }   } 
    ?

    最后上测试类
     

    1. static void Main(string[] args)      { 
    2.       var redMun = new MeiPo {Sex = "男"};        var del= new GetTelphone(new Girl().GetGirlTel); 
    3.       if(redMun.Sex=="女")          del = new GetTelphone(new DiaoSi().GetBoyTel); 
    4.       redMun.GetTel(del);   
    5.       Console.ReadKey();      } 

     

     

    执行步骤:

    1、创建媒婆对象,媒婆介绍一个sex="男",