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

Tags: