用处:
委托类似于消息传递,当需要在一个函数中调用另一个对象的私有函数,就是用委托来处理该操作;
委托函数申明:
public delegate int MyDelegate(int i,int j);//委托
class Test{
public static int Add(int i,int j)//被委托的函数,该函数为另外一个类的私有函数(静态)
{
return i + j;
}
public int Reduce(int i,int j)//被委托的函数,该函数为另外一个类的私有函数(非静态)
{
return i - j;
}
}
MyDelegate delegate1 = Add;//委托函数Add
MyDelegate delegate2 = new Test().Reduce;//委托函数Reduce
int addresult = delegate1(1,2);
int reduceresult = delegate2(1,2);
Console.WriteLine(addresult.ToString());//输出3
Console.WriteLine(reduceresult .ToString());//输出-1