你的位置:首页 > 软件开发 > ASP.net > 什么是事件?事件和委托的区别?

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

发布时间:2016-05-24 17:00:13
关于面试中涉及到的事件的问题,我们只需要抓住几个关键点就好了: 事件是委托的封装,可以理解为一种特殊的委托。事件里面其实就两个方法(即add_event()和remove_event())和一个私有的委托变量,这两个方法里面分别是对这个私有的委托变量进行的合并和移除,当调用事 ...

关于面试中涉及到的事件的问题,我们只需要抓住几个关键点就好了:

 

  1. 事件是委托的封装,可以理解为一种特殊的委托。
  2. 事件里面其实就两个方法(即add_event()和remove_event())和一个私有的委托变量,这两个方法里面分别是对这个私有的委托变量进行的合并和移除,当调用事件的+=时其实是调用的事件里面的add_event()方法,同样-=调用的是remove_event()方法。
  3. 事件只能够从对象外部增加新的响应方法和删除已知的响应方法,而不能主动去触发事件和获取其他注册的响应方法等信息。如果使用公有的delegate则不能做这些限制,也就是说事件对委托做了限制,使委托使用起来更加方便。也有人说事件是对委托的**,大概也是这个意思。

定义事件:

1 public delegate void MyStudyEvent(object sender, EventArgs e);

原标题:什么是事件?事件和委托的区别?

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录