从声明一个委托到最后使用委托,一共经过5个步骤:
1,声明委托,声明委托时可将委托看做为方法来声明,需要定义返回值若无返回值则需使用void,参数类型及参数个数;需要注意的是声明委托需要类的外部进行声明;
2,参照委托定义方法,定义需委托的方法时,返回值,参数类型,参数个数必须与委托所定义的一致,否则后续委托无法绑定方法;
3,实例化一个委托,此处可将委托看做是一种特殊类型的变量(此变量代表相同返回值,相同参数类型,相同参数个数的方法),实例化时如不直接绑定方法,需赋值为Nnll;
4,将委托与方法进行绑定;
5,直接托用委托,将委托当做方法直接调用即可;
class Program
{
static void Main(string[] args)
{
//3.声明一个委托,赋值为空
calcDelegate objCalc=null;
//4.将委托与方法绑定
objCalc += Add;
//5.通过委托调用方法
Console.WriteLine(objCalc(20, 10));
objCalc -= Add;
objCalc += Sub;
Console.WriteLine(objCalc(20, 10));
Console.ReadKey();
}
// 2.参照所定义的委托定义方法
public static int Add(int a, int b)
{
return a + b;
}
public static int Sub(int a, int b)
{
return a - b;
}
}
//1.参照定义方法的模式定义,返回值,参数
public delegate int calcDelegate(int a,int b);