zoukankan      html  css  js  c++  java
  • 【C#】委托

    委托是类类型

    定义方法为:在定义前面(也就是void那个位置前面)多一个delegate关键字。例:public delegate void MyDelegate(int para1, string para2);

    前面的委托类型MyDelegate包装的方法需要满足以下条件

    1.方法的返回类型必须为void;

    2.方法必须有两个参数,并且第一个参数应为int类型,第二个参数为string类型。

    再归纳一下:可以被委托包装的方法必须满足以下规则

    1.方法的签名必须与委托一致,方法签名包括参数的个数、类型和顺序;

    2.方法的返回类型要和委托一致,注意,方法的返回类型不属于方法签名的一部分。

    2016.09.02

    早上看了个视频,简单理解了些委托,就像介绍说的,我们可以把方法作为参数来传递,但是书里的例子用了一个类似中转的方法Test,把方法和参数链接在一起

     1 namespace weituo
     2 {
     3     public delegate void DelSayHi(string name);
     4     class Program
     5     {
     6         static void Main(string[] args)
     7         {
     8             Test("张三",SayHiChinese);
     9             Console.ReadKey();
    10         }
    11 
    12         public static void Test(string name,DelSayHi del)
    13         {
    14             del(name);
    15         }
    16 
    17         public static void SayHiChinese(string name)
    18         {
    19             Console.WriteLine("吃了吗?"+ name);
    20         }
    21 
    22         public static void SayHiEnglish(string name)
    23         {
    24             Console.WriteLine("Nice to meet you"+ name);
    25         }
    26     }
    27 }

    使用方法有好几种,今天就看到上面那种,书上的还不是太理解。关于上面,因为下面的方法和委托的签名一致,所以下面中文英文的打招呼都可以传递给委托,然后Test就能够使用方法来做参数了,基本是这样,如有错误,欢迎指正。

  • 相关阅读:
    HTTP状态码
    TCP慢启动、拥塞避免、快速重传、快速恢复(转)
    优化js设计,防止浏览器假死(转)
    Firebug详解(转)
    WUST Online Judge
    WUST Online Judge
    WUST Online Judge
    WUST Online Judge
    WUST Online Judge
    WUST Online Judge
  • 原文地址:https://www.cnblogs.com/iteou/p/5843754.html
Copyright © 2011-2022 走看看