为什么说事件是特殊的委托
C#中的事件处理实际上是一种具有特殊签名的delegate,像下面这个样子:
public delegate void MyEventHandler(object sender, MyEventArgs e); (1)
其中的两个参数,sender代表事件发送者,e是事件参数类。声明一个委托时,必须声明需要委托的方法的参数与返回类型,但声明一个事件时,则不需要,因为事件是具有特定签名的,它只能是如(1)式中的形式:
public delegate void MyEventHandler(object sender, System.EventArgs e); //声明委托
private event MyEventHandler myevent; //声明事件