C#特性知识图谱-三、事件
三、事件
3.1 事件简介
在事件驱动的软件系统中,符合某种预设条件的情形出现是,一个事件就会被触发。
3.1.1 事件三要素
- 事件源:激发事件的对象
- 事件信息:事件本身说携带的信息
- 事件响应者:响应时间的处理逻辑代码
示例:
3.1.2 事件的特点
一个事件源可以有多个响应者即一对多关联。
事件可以看成是一个多路委托变量,事件的响应方法则是被此多路委托变量所引用。
3.2 定义事件的方式
3.2.1 利用委托自定义事件
3.2.2 利用event自定义事件
事件只能有事件源对象内部自己激发,外界服务通过访问委托变量直接触发事件。
3.3 .Net事件揭秘
3.3.1 事件示例:Click事件
Click事件定义:
Click事件的委托定义:
.Net事件触发与响应机制是建立在委托之上的。
3.4 事件的应用示例
运行时设定事件的响应函数
在程序运行过程中动态设定事件响应程序。
3.5 自定义事件开发技巧
3.5.1 使用自定义事件的标准方式
- 定义一个事件参数类使其从EventArgs类派生,让事件参数从EventArgs类派生是通用方法(.Net编程套路)。
- 定义一个事件委托
- 实现功能
3.5.2 使用泛型委托自定义事件
.Net基类库中定义了一个通用的泛型事件委托,可直接使用这一泛型委托,无须定义一个新的事件委托类型。
泛型事件委托类型
直接使用泛型事件委托示例
本文来自博客园,作者:草叶睡蜢,转载请注明原文链接:https://www.cnblogs.com/tjubuntu/p/15434795.html