文章目录
- 1.什么是事件?
- 2.事件的声明与使用
- 2.1 声明事件
- 2.2 订阅与触发事件
- 3.事件的核心概念
- 3.1 事件处理委托
- 3.2 自定义事件参数
- 4.事件的高级用法
- 4.1 多播委托与事件
- 4.2 事件解除订阅
- 4.3 自定义事件访问器
- 5.事件的应用场景
- 5.1 GUI 应用程序中的事件
- 5.2 基于事件的编程模型
- 5.3 观察者模式
- 6.事件的注意事项
- 7.事件的完整示例
- 8.总结
1.什么是事件?
在 C# 中,事件是依赖于委托的特殊类型,用于实现发布-订阅模型。事件允许类向外界通知某些发生的情况,而订阅这些事件的类可以对这些情况进行响应。事件的定义使用 event 关键字,通常基于 EventHandler 委托进行声明。
事件的基本概念
事件与委托类似,但事件比委托更加受限:
- 只能在声明事件的类内部触发(invoke)事件。
- 外部类只能订阅或取消订阅事件,不能直接触发事件。
事件的声明形式通常如下:
public event EventHandler MyEvent;
其中 EventHandler 是一种委托类型,指定了事件处理方法的签名。