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;  //声明事件 

相关文章: