委托函数说白了就是委托函数出个嘴,让别人完成自己想干的活。因此,委托函数有着自己完整的结构。
我叫XX,是一个黑帮帮主,手下小弟无数。今天想让小弟二狗去帮我砍一个人,我只需要告诉二狗这个人的名字,他就能帮我解决掉这个人。
public class Employer
{
//我想干掉的家伙叫957
private int A = 957;
//我发号施令的方法
public event XXEventHandler XXEvent;
//只有我发出信号,他们才会去做事
public void OnEvent()
{
XXEvent(A);
}
}
class Program
{
static void Main(string[] args)
{
Employer boss = new Employer();
//我想叫谁就得让先他待命着。
boss.XXEvent += Ergou;
boss.XXEvent += SanDog;
//我发出信号让他们做事去了
boss.OnEvent();
Console.ReadKey();
}
static void Ergou(int A)//带着委托的东西int A触发
{
Console.WriteLine("ToDog: kill {0}!", A);
}
static void SanDog(int A)
{
Console.WriteLine("SanDog: kill {0}!", A);
}
}
总结一下:当帮主好爽,只要在帮派里定义好委托函数(delegate),想好发号施令的办法(Event),让小弟随时待命(+=)。我只要在想干啥的时候(控制条件),发出信号(OnEvent)就可以了。