委托
委托是什么?
通过http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html的学习,我们知道:
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
个人感觉,委托分为委托类型(就是可以接受哪种方法),和实例化的委托(就是和方法绑在一起的委托变量,可以赋值为方法名)
委托有什么作用?
委托可以将方法当作参数传递,
同时,一个 委托实例 可以包含多个 参数形式 相同的方法;
一个委托实例可以直接当做一个方法来使用,可以传递给另一个方法作为参数;
委托怎么用?
一种委托类型的声明:
pubilic int/void/string(可接受方法的返回类型) Mydelegate(int a,int b);
这种委托类型的实例化
Mydelegate M1=new Mydelegate ([Method方法名]);
或 Mydelegate M1= Method方法名;
使用:
void Mymethod(string str, Mydelegate method)
{
method(str);
}
void Ouput(string str)
{
Console.WriteLine(str);
}
static void main(string args[])
{
Mydelegate M1=new Mydelegate (Output); // Mydelegate M1=Output || Mydelegate M1=(Mydelegate)Output;
Mymethod("Hello World",M1);
}
输出:hello world