C#学习之委托

关键字:Delegate(委托)

定义:委托(Delegate) 是存有对某个方法的引用的一种引用类型变量,可以理解成是C++中的函数指针。

声明 :委托声明决定了可由该委托引用的方法,委托可指向一个与其具有相同标签的方法。

public delegate int Mydelegate (int X,int Y);
上述语句声明了一个带有两个整型形参,返回值为整型的委托 Mydelegate
该委托可以指向具有相同标签的方法,如下:
        //相加方法
        public int Add(int X, int Y)
        {
            return X + Y;
        }

 实例:

 1 using System;
 2 
 3 namespace Delegate
 4 {
 5     //声明委托
 6     public delegate int mydelegate(int x, int y);
 7     class Program
 8     {
 9         //Main方法 
10         static void Main(string[] args)
11         {
12             //实例化类
13             Program pg = new Program();
14             //相加方法委托实例
15             mydelegate mydelegate_add = new mydelegate(pg.Add);
16             //相乘方法委托实例
17             mydelegate mydelefate_mul = new mydelegate(pg.Mul);
18             //相减方法委托实例
19             mydelegate mydelefate_sub = new mydelegate(pg.Sub);
20             //相除方法委托实例
21             mydelegate mydelefate_div = new mydelegate(pg.Div);
22             //计算1+2  并输出
23             Console.WriteLine(mydelegate_add(1, 2));
24             //计算2-1 并输出
25             Console.WriteLine(mydelefate_sub(2, 1));
26             //计算1*2 并输出
27             Console.WriteLine(mydelefate_mul(1, 2));
28             //计算2/1 并输出
29             Console.WriteLine(mydelefate_div(2, 1));
30             //固定控制台
31             Console.ReadLine();
32         }
33         //相加方法
34         public int Add(int X, int Y)
35         {
36             return X + Y;
37         }
38         //相乘方法
39         public int Mul(int X,int Y)
40         {
41             return X * Y;
42         }
43         //相减方法
44         public int Sub(int X, int Y)
45         {
46             return X - Y;
47         }
48         //相除方法
49         public int Div(int X ,int Y )
50         {
51             return X / Y;
52         }
53 
54     }
55 }

运行结果:

猜你喜欢

转载自www.cnblogs.com/sza1122233/p/9187427.html