对事件和委托的一点看法

     首先,作为基本的理论概念委托和事件在以事件驱动为基础的.net平台上显得非常重要,因而把握好这两者的概念就成为学好.net的重中之重。
     委托是一种特殊的类.特殊的地方在于委托封装的是一个方法,就相当于非类型安全的函数指针。他可以指向所有与之有相同签名的类方法或者实例方法。
     而事件是一种添加上event标签的一种委托的实例(事件可以被这个委托的实例注册).特殊的地方在于它的签名被.net平台固定下来了:void myEvent(Object,EventArgs),因此声明一个自定义事件的时候,其原型(即对应的委托)签名为:void myEventHandler(Object,EventArgs).
     另外还有一点应该注意的地方是,如果事件的参数为空的话,就没有必要写自定义的事件了,直接时还用微软提供的默认EventHandler(Object sender,EventArgs e)

posted @ 2008-02-27 10:41  collum  阅读(243)  评论(0编辑  收藏  举报