tjubuntu

C#特性知识图谱-二、事件

C#特性知识图谱-二、事件

二、事件

在事件驱动的软件系统中,符合某种预设条件的情形出现是,一个事件就会被触发。

2.1 事件三要素

  • 事件源:激发事件的对象
  • 事件信息:事件本身说携带的信息
  • 事件响应者:响应时间的处理逻辑代码
    示例:
    image
    image

2.2 事件的特点

一个事件源可以有多个响应者即一对多关联。
事件可以看成是一个多路委托变量,事件的响应方法则是被此多路委托变量所引用。

2.3 定义事件的方式

2.3.1 利用委托自定义事件

image
image
image
image

2.3.2 利用event自定义事件

image
image

2.4 event关键字的作用

事件只能有事件源对象内部自己激发,外界服务通过访问委托变量直接触发事件。

2.5 .Net事件揭秘

Click事件

Click事件定义:
image
Click事件的委托定义:
image
.Net事件触发与响应机制是建立在委托之上的。

2.6 事件的应用示例

运行时设定事件的响应函数
在程序运行过程中动态设定事件响应程序。
image

2.7 自定义事件开发技巧

2.7.1 使用自定义事件的标准方式

  • 定义一个事件参数类使其从EventArgs类派生,让事件参数从EventArgs类派生是通用方法(.Net编程套路)
    image
  • 定义一个事件委托
    image
  • 实现功能
    image
    image

2.7.2 使用泛型委托自定义事件

.Net基类库中定义了一个通用的泛型事件委托,可直接使用这一泛型委托,无须定义一个新的事件委托类型。
泛型事件委托类型
image
直接使用泛型事件委托示例
image

相关文章: