在C#当中 委托就像函数指针,在程序运行时,可以使用委托调用不同的方法。
委托的使用,首先要使用delegate关键字声明一个委托,并定义它的返回值和参数列表,在实例化委托和具体执行的方法相关联,最后调用委托,如下所示
{
public int WhichIsBig(int a, int b)
{
if (a > b)
return a;
else
return b;
}
public int WhichIsSmall(int a,int b)
{
if (a > b)
return b;
else
return a;
}
}
class Program
{
public delegate int CallDelegate(int a, int b);
public static int Process(int a, int b,CallDelegate call)
{
return call(a,b);
}
static void Main(string[] args)
{
// 委托的第一种调用
CallDelegate delegateBig = new CallDelegate(new ImplementingClass().WhichIsBig);
int _big = delegateBig(20, 10);
// 委托的第二种调用
int _small = Process(10,20, new CallDelegate(new ImplementingClass().WhichIsSmall));
Console.WriteLine(_big);
Console.WriteLine(_small);
}
}