黑马程序员技术交流社区

标题: 关于事件和委托的 [打印本页]

作者: 刘煜    时间: 2012-7-14 23:05
标题: 关于事件和委托的
怎么理解委托在事件中应用,事件与委托有什么区别,都是怎么用的?求高手~~
作者: 京鱼龙    时间: 2012-7-14 23:52
区别   事件可以有多个,委托只能加载一个。
          事件就是一个狭义的委托,也就是事件是一个用于事件驱动模型的专用委托.
通俗的讲,委托你可以在客户代码中直接调用委托来激发委托指向的函数,而事件不可以,事件的触发只能由服务代码自己触发
也就是说在你的代码里委托你不但可以安排谁是它的调用函数,还可以直接调用它,而事件不能直接调用,只能通过某些操作触发

百度上有好多的,你可以看看,这是我的摘要。

作者: 冯大卫    时间: 2012-7-15 00:26
event与delegate的区别
通过加入event关键字,在编译的时候编译器会自动针对事件生成一个私有的字段,以及两个访问器方法,即add访问器方法以及remove访问器方法,用于对事件的注册及注销
之所以采用event而不直接采用委托,实际上还是为了封装。可以设想一下,如果直接采用公共的委托字段,类型外部就可以对此字段进行直接的操作了,比如将其直接赋值为null。
而使用event关键字就可以保证对事件的操作仅限于add访问器方法以及remove访问器方法




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2