c#委托

2021-06-29 19:04

阅读:432

标签:name   ogr   void   mes   而不是   特殊   read   直接   add   

  委托也可以看作一种数据类型,可以定义变量,但是它是一种特殊的变量。

  委托定义的变量能接收的数值只能是一个方法(函数),可以理解成委托叫是一个方法(函数)的指针。

namespace delegate1
{
    class Program
    {
        static void Main(string[] args)
        {
            //(3)创建委托对象,关联具体方法
            CalculatorDelegate objCal = new CalculatorDelegate(Add);
            //(4)通过委托调用方法,而不是直接使用方法
            int result = objCal(10, 20);
            Console.WriteLine(result);
            objCal -= Add;  //将委托变量代表的具体方法解绑。
            objCal += Sub;
            result = objCal(10, 20);
            Console.WriteLine(result);
            Console.ReadLine();
        }
        //(2)根据委托定义一个“具体方法”实现加法功能
        static int Add(int a,int b)
        {
            return a + b;
        }
        //(2)根据委托定义一个“具体方法”实现减法功能
        static int Sub(int a,int b)
        {
            return a - b;
        }
    }

    //(1)声明委托(定义一个函数的原型:返回值:参数类型和个数)
    public delegate int CalculatorDelegate(int a, int b);
}

c#委托

标签:name   ogr   void   mes   而不是   特殊   read   直接   add   

原文地址:https://www.cnblogs.com/sunwenhao01/p/10012266.html


评论


亲,登录后才可以留言!