C#特性知識圖譜-二、事件
C#特性知識圖譜-二、事件
二、事件
在事件驅動的軟體系統中,符合某種預設條件的情形出現是,一個事件就會被觸發。
2.1 事件三要素
- 事件源:激發事件的對象
- 事件資訊:事件本身說攜帶的資訊
- 事件響應者:響應時間的處理邏輯程式碼
示例:
2.2 事件的特點
一個事件源可以有多個響應者即一對多關聯。
事件可以看成是一個多路委託變數,事件的響應方法則是被此多路委託變數所引用。
2.3 定義事件的方式
2.3.1 利用委託自定義事件
2.3.2 利用event自定義事件
2.4 event關鍵字的作用
事件只能有事件源對象內部自己激發,外界服務通過訪問委託變數直接觸發事件。
2.5 .Net事件揭秘
Click事件
Click事件定義:
Click事件的委託定義:
.Net事件觸發與響應機制是建立在委託之上的。
2.6 事件的應用示例
運行時設定事件的響應函數
在程式運行過程中動態設定事件響應程式。
2.7 自定義事件開發技巧
2.7.1 使用自定義事件的標準方式
- 定義一個事件參數類使其從EventArgs類派生,讓事件參數從EventArgs類派生是通用方法(.Net編程套路)。
- 定義一個事件委託
- 實現功能
2.7.2 使用泛型委託自定義事件
.Net基類庫中定義了一個通用的泛型事件委託,可直接使用這一泛型委託,無須定義一個新的事件委託類型。
泛型事件委託類型
直接使用泛型事件委託示例