为什么说事件是特殊的委托

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

posted @ 2010-05-28 01:02  涂墨留香  阅读(728)  评论(0编辑  收藏  举报