委托 代理
委托=代理
以前,我们调用方汉,直接 call method
现在,我们使用代理, call ->delegate -> method
有事,找代理。
1 定义一“种”委托
delegate void MyDelegate(string n);
解释一下,短短的一行代码,信息量巨大。
有一个委托,名叫MyDelegate ,它能代理形如 void XXX(string)的方法。
2 准备两个方法,过分简单, 不解释
static void SayHello(string name )
{
Console.WriteLine("Hello , {0}",name);
}
static void SayBye(string name)
{
Console.WriteLine("Bye , {0}", name);
}
{
Console.WriteLine("Hello , {0}",name);
}
static void SayBye(string name)
{
Console.WriteLine("Bye , {0}", name);
}
3 使用委托
下面的代码写在main方法中。
MyDelegate dl;
dl = SayHello;
dl("tom");
dl += SayBye;
dl("jack");
dl = SayHello;
dl("tom");
dl += SayBye;
dl("jack");
注意 += 是多播委托(一个委托,可以代理多个方法,-=同样有效)