C 中的委託 多播委託 以及事件的概要

2021-08-31 09:15:50 字數 744 閱讀 7358

1:委託

我們定義一段**:person   obj   =   new   person   (); ,就是說obj 這個【引用】型別指向了乙個新的物件【  new   person   ()】 

同樣的,委託也是一種【引用】型別,一種能夠指向方法的型別。在方法中有無引數的方法和帶引數的方法,引數也是一種型別,所以我們就可以將這種」委託型別」,傳入到方法中。通俗點說:委託可以代表乙個方法或多個方法(多播委託)。

namespace 多播委託

/ /被委託的方法 

public    static    voidtest2( string  s ) 

在上面**中/ /dels +=test2;  這段** 變為dels =test2;   那麼只會輸出test2的內容,也就是說吧 +=  變為   =,會覆蓋以前委託的內容。

2:事件: 是乙個委託型別的實列,只能在定義它的類的內部來進行訪問。在類外面智慧型註冊事件的響應方法。

在類的內部定義事件 :public eventdeltest1deltest1event;  / /定義了乙個事件,在類的外部給事件新增事件響應方法,可以理解為乙個私有的委託實列,給事件新增事件方法是和委託是一樣的。

委託 多播委託 event 事件

委託 多播委託 意義 多播委託有啥用呢?乙個委託例項包含多個方法,可以通過 去增加 移除方法,invoke時可以按順序執行全部動作 多播委託 任何乙個委託都是多播委託型別的子類,可以通過 去新增方法 給委託的例項新增方法,會形成方法鏈,invoke時,會按順序執行系列方法 給委託的例項移除方法,從方...

C 多播委託與事件

1.發布 訂閱模式 委託本身是乙個更大的模式的基本單位,這個模式稱為發布 訂閱。委託的使用及其對publish subscribe模式的支援是需要學習的重點。雖然,很多問題都可以單獨用委託來實現,但是事件構造提供了額外的 封裝 使publish subscribe模式更容易實現,更不容易出錯。2.多...

C 委託,委託鏈,多播委託

委託 概念 委託是一種使用者自定義的型別.是一種類.可以把委託看成用來執行方法 函式的乙個東西 形式 delegate 函式返回型別 委託名稱 引數部分 例項化 委託型別 例項化名 new 委託型別 方法名稱 實現 usingsystem usingsystem.collections.generi...