C#基础---->事件

什么是事件,事件和委托的区别?

(1)事件是委托的封装,可以理解为一种特殊的委托。

(2)事件里面其实就两个方法(即add_event()和remove_event())和一个私有的委托变量,这两个方法里面分别是对这个私有 的委托变量进行的合并和移除,当调用事件的+=时其实是调用的事件里面的add_event()方法,同样-=调用的是remove_event()方 法。

(3)事件只能够从对象外部增加新的响应方法和删除已知的响应方法,而不能主动去触发事件和获取其他注册的响应方法等信息。如果使用公有的 delegate则不能做这些限制,也就是说事件对委托做了限制,使委托使用起来更加方便。也有人说事件是对委托的阉割,大概也是这个意思。

posted @ 2015-09-25 14:25  jinbao.wang  阅读(127)  评论(0编辑  收藏  举报