目录
事件是一种特殊的委托,那什么是委托呢?简而言之,委托是一种数据类型(关键字delegate);委托代表的是方法;当调用委托时就是调用了这个方法。想要进一步了解委托,可以参考【一文了解】C#重点-委托1、【一文了解】C#重点-委托2了解委托的定义、3个基本使用步骤、单播委托和多播委托、实例化委托的四种方法。
事件
1.定义
事件(event)是声明为委托类型的类的成员,允许一个类或对象通知其他类或对象某个特定的事情已经发生。事件基于委托。表示类的偶发行为,一旦这个行为发生,往往要引起其他行为/方法发自动执行。事件是用来实现两个或多个行为的联动调用的。简而言之,事件(关键字event)是声明为委托类型的类的成员变量,是一种特殊的委托。
2.特点
事件发生后,其他对象做出响应。事件是一种观察者模式的实现方式。
观察者模式
定义
一个对象(被观察者)维护一组依赖于它的对象(观察者)。当被观察者的状态发生变化时,所有的观察者都会被通知并作出相应的反应。通过这种方式,观察者模式实现了松耦合的设计,使得事件源和响应者之间不需要直接依赖彼此。
重要概念
1)事件源(被观察者):定义事件,并负责触发事件。
2)响应者(观察者):订阅事件,并响应事件。
如:张三骂李四,李四打张三 (事件源:张三,响应者:李四)