C# 事件(Event)是一种成员,用于将特定的事件通知发送给订阅者。事件通常用于实现观察者模式,它允许一个对象将状态的变化通知其他对象,而不需要知道这些对象的细节。
-
事件的定义:使用
event
关键字定义事件,通常放在类的公共或私有部分。 -
委托:事件需要一个委托类型,委托是一种特殊的类型,定义了方法的签名。
-
事件的触发:使用
raise
关键字或EventHandler
类的Invoke
方法来触发事件。 -
事件的订阅和取消订阅:使用
+=
和-=
运算符来订阅和取消订阅事件。
事件是一种特殊的多播委托
它允许对象通知其他对象发生了某个事情。在 C# 中,事件通常用于以下几个目的:
- 通知:一个对象(发布者)通过事件向其他对象(订阅者)发送通知,告知它们某些事情已经发生。
- 解耦:事件提供了一种机制,使得订阅者不需要知道事件的发送者是谁,也不需要知道事件是如何被触发的,从而实现发布者和订阅者之间的松耦合。
事件主要包括三个部分:
1. 事件的订阅者(控件,比如:Button)
2. 事件的触