委托(delegate)定义:委托是指向一个方法的指针,通过制定一个委托名称,即可以通过委托来调用方法。调用一个委托时,“运行时”实际执行的事委托所引用的方法。可动态地更改一个委托引用的方法,使调用一个委托的代码都运行一个不同的方法。
委托怎么做:先声明委托,然后添加委托。委托不需要你去new它,自己会处理。添加委托用”+=”,删除委托用“-=”。这个有点像as3里边的”addEventListener”和“removeEventListener”。

声明委托,请使用关键字:delegate,请定义访问方式,返回类型,参数

public delegate void allPeopleSay ();
allPeopleSay += men.Say;
allPeopleSay += women.Say;

如何调用委托,和调用方法一样.

this.allPeopleSay();

事件的构成:由于事件设计的事随着委托使用的,所以使用事件的类型必须是一个委托。而且必须在声明前,附加event关键字作为前缀。事件的四部曲。

第一步:声明事件。

先定义一个委托,里边可以带参数。然后定义event。

public delegate void DisplayTime(string timeStr);
public event DisplayTime TimeTick;

第二步:注册事件。事件注册只需要将事件添加到实例的委托中。添加事件用 “+=”字符串。卸载事件用”-=”。