《C#图解教程(第五版)》- 14.4 创建委托对象

示例:创建两个委托对象,一个具有实例方法,而另一个具有静态方法。

  • 委托中使用的是实例方法,则需要通过类的实例来调用方法,即使用“new 类名 (). 方法名”的形式。
  • 委托中使用的是静态方法,在向委托中传递方法名时只需要用“类名.方法名”的形式。
using System;

namespace ConsoleApp5
{
    //声明委托类型
    delegate void MyDel(int x);

    class myInstObj
    {
        //实例方法
        public void MyM1(int x)
        {
            Console.WriteLine($"Print MyDel:{x}");
        }
    }

    class SClass
    {
        //静态方法
        public static void OtherM2(int x)
        {
            Console.WriteLine($"Print OtherM2:{x}");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            //创建两个委托变量
            MyDel delVar, dVar;

            //委托中使用的是实例方法,则需要通过类的实例来调用方法,即使用“new 类名 (). 方法名”的形式。
            delVar = new MyDel(new myInstObj().MyM1);

            //委托中使用的是静态方法,在向委托中传递方法名时只需要用“类名.方法名”的形式。
            dVar = new MyDel(SClass.OtherM2);

            //调用委托
            delVar(3);
            dVar(4);
        }
    }
}
未经允许不得转载:透视数据 » 《C#图解教程(第五版)》- 14.4 创建委托对象