一、什么是事件?
我们可以把任意一个行为看作是一个事件,例如我现在打字也是一个事件,
事件的产生需要两个要素:
1、产生行为的事务,可以理解为触发器
2、事件发生之后的接收者
二、为什么要用到事件?
使用事件的根本性目的就是为了加强类的封装性,通过对委托变量进行封装,来保证委托类型的变量无法在类外部调用。
相当于把委托变量从public变成private。
三、怎么使用事件?
在新建一个委托对象时,在委托变量名之前加 event 即可,例如:
public delegate void TheDelegate(int num); public event Thedelegate del; //del 就是一个事件 priva Thedelegate del2; //del2 是私有的委托变量对象;
事件与私有的委托变量区别在于,事件可以通过+=和-= 来注册跟删除函数。
在用法方面两者完全一致,都无法从外部直接调用函数,例如:
由于公共类型委托的方式有可能在类外部直接触发事件,而事件的方式则只允许发布者触发事件,订阅者接收事件。因此,事件的方式会更加的合理,也实现了对类更好的封装性。