委托使用分四步
//[1]声明委托(定义一个函数的原型,返回值+参数类型和个数)
public delegate int CaculatorDelegate(int a,int b);
//[2]根据委托定义一个具体方法实现加法功能
static int Add(int a,int b)
{
return a + b;
}
static int Sub(int a, int b)
{
return a - b;
}
//[3]创建委托对象关联具体方法
CaculatorDelegate objCal = new CaculatorDelegate(Add);
//[4]通过委托去调用方法(而不是直接使用方法)
int result = objCal(10, 20);
Console.WriteLine("10+20={0}", result);
objCal -= Add;//将委托所代表的具体方法解绑
objCal += Sub;//重新指向新的方法
result = objCal(10, 20);
Console.WriteLine("10-20={0}", result);
Console.ReadLine();