事件
事件是对象发送的消息,以发信号通知操作的发生。
事件可以由用户交互引起,例如单击按钮,也可能是由某些其他程序的逻辑引发,例如更改的属性值。 引发事件的对象称为event sender
事件发送方不知道哪个对象或方法将接收到(处理)它引发的事件。 事件通常是事件发送方,例如Click事件是Button类的成员,PropertyChanged事件是由INotifyPropertyChanged接口实现的成员。
使用 event 关键字在事件类中声明并指定事件的委托来定义一个事件。
通常,为了引发事件,添加一个在C#中标记为protected和virtual。
命名方法为OnEventName,例如OnDataReceived 方法应带有指定事件数据对象的参数。我们可以自己提供此方法,允许派生类重写引发事件的逻辑。
派生类必须始终调用基类的OnEventName方法以确保注册的委托接收到事件。
下面的示例显示如何声明名叫ThresholdReached 的事件,事件与EventHandler委托相关联并且被一个叫OnThresholdReached的方法引发。