事件是一个用户操作,按键,点击,鼠标移动等等,或者是一些提示信息,如系统通知,应用程序需要在Event发生时响应事件,例如,中断。
C#中使用事件机制实现线程间的通信。
事件一般都是跟委托联系上的,通过事件使用委托
事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。这被称为发布器类,其他接受该事件的类称为订阅类,事件使用发布-订阅模型。
事件有三个要素,事件拥有者,也就是发布器,事件订阅者,订阅器,事件处理方法。
例子,狗叫是事件,狗是事件拥有者,主人是事件订阅者,起来抓小偷是主人听到狗叫后的事件处理方法。
发布器是一个包含事件和委托定义的对象,事件和委托之间的联系也定义在这个对象中,发布器类的对象调用这个事件,并通知其它的对象。
订阅器是一个接受事件并提供事件处理程序的对象,在发布器类中的委托调用订阅器类中的方法。