委托

作者: a04a42f99657 | 来源:发表于2016-12-23 23:42 被阅读12次

    委托

    • 理解:委托就是将一个方法当作参数传递给另一个方法。
    • 关键字有返回值类型,和参数类型,委托只可以给返回值类型和参数类型一样的方法委托。
      namespace 委托
      {
      //声明了一个委托
      public delegate int GetMax(string name, int age);
      class Program
      {
      static void Main(string[] args)
      {
      GetMax get = new GetMax(GetMax2);//实例化这个委托,将GetMax这个方法传给委托。
      get("这个参数和GetMax一样", 20);
      Console.ReadKey();
      //这样就完成了一个方法的委托。
      }
      //声明了一个静态方法,返回值类型和参数类型不一样,所以不能将这个方法传给委托
      static void GetMax1()
      {
      Console.WriteLine("调用不到");
      }
      //这个方法的返回值类型和参数类型和声明的委托一样,可以将这个方法传给委托。
      static int GetMax2(string name,int age)
      {
      Console.WriteLine("可以调用这个方法");
      return 0;
      }
      }
      }

    1、Action简介:

    C#中与预定义了一个委托类型Action
    它默认可以指向一个没有返回值,没有参数的方法。

    • Action的使用
      static void printString()
      {
      Console.WriteLine("Hello World");
      }
      static void Main(String[] args)
      {
      Action a = printString;
      a();
      // 输出结果 Hello World
      }
      2.Func委托
      1.简介
      Func 也是C#预定义的委托, 且可以指向带有一个返回值的方法,传递0-16个参数。
      与Action区别:Action 不能指向有返回值的方法 , 不能有返回值 。Func 可以指向有一个返回值的方法, 且必须有返回值。

    相关文章

      网友评论

          本文标题:委托

          本文链接:https://www.haomeiwen.com/subject/iuhlvttx.html