- 委托(delegate)简单来看就是一种指向方法的引用对象。其实,delegate就是一个类,其持有所指向的方法的地址。
- 委托可以引用一个方法,也可以应用多个方法,当引用多个方法的时候,称之为多路广播(多播)。
- 委托既可以引用静态方法,也可以应用实例方法。
下面先看委托对静态方法的引用:
//定义一个委托,使用关键字delegate,其后面的int是委托引用的方法的返回值;
//NumberChanger是委托名,括号内是委托引用的方法的参数类型。
delegate int NumberChanger(int num);
class NumChanger
{
static int num = 10;
//静态方法AddNum()
public static int AddNum(int n)
{
num += n;
return num;
}
//静态方法MultiNum()
public static int MultiNum(int n)
{
num *= n;
return num;
}
public static int