码迷,mamicode.com
首页 > Windows程序 > 详细

c#委托

时间:2018-11-24 16:35:54      阅读:196      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!