简单地理解委托就是用来动态代理与其签名相同的方法。
class Program
{
// 声明委托类型CalcCallback,原型如下:
public delegate double CalcCallback(double x, double y);
static void Main(string[] args)
{
// 下面使用3种方式初始化一个委托对象,前提
// 就是方法的签名与委托类型声明时的签名一样即可
// 1、使用命名方法方式初始化一个委托对象
CalcCallback add = new CalcCallback(Sum);
// 2、使用拉姆达函数方式初始化一个委托对象
CalcCallback sub=(x,y)=>{
return x-y;
};
// 3、使用匿名函数方式初始化一个委托对象
CalcCallback mul = delegate(double x, double y)
{
return x * y;
};
Console.WriteLine(add(1,2));
Console.WriteLine(sub(2, 1));
Console.WriteLine(mul(2, 2));
Console.ReadKey(true);
}
static double Sum(double x, double y) {
return x + y;
}
}