C#委托

58 阅读1分钟

委托

1.作用:可以通俗理解为函数指针,复制函数的功能,代替函数工作
语法

delegate 返回值类型 委托名字(参数类型 参数名, 参数类型 参数名);

委托的创建
        //定义一个乘法功能
        static double Multiply(double num1,double num2)
        {
            return num1 * num2;
        }
        static double Divide(double num1,double num2)
        {
            return num1 / num2;
        }
        //委托的申明
        delegate double MyDelegate(double num1, double num2);
委托的使用
        Console.WriteLine(Multiply(3,4));
        Console.WriteLine(Divide(3,4));
        //委托的创建
        MyD d1;
        //把一个函数赋值给委托
        d1 = Multiply;
        //实现Multiply功能
        Console.WriteLine(d1(3, 4));
        //把另一个函数赋值给委托
        d1 = Divide;
        //实现Divide功能
        Console.WriteLine(d1(3, 4));

委托的返回值、参数类型必须和被委托的函数一样

        static double Multiply(double num1,double num2)
        {
            return num1 * num2;
        }
        //返回值不一样
        delegate int MyD(double num1, double num2);
        MyD d1;
        d1 = Multiply;  //会报错