C 中的delegate 委託

2021-09-20 18:49:31 字數 669 閱讀 9375

委託是乙個類,它定義了方法的型別,使得可以將方法當作另乙個方法的引數來進行傳遞,這種將方法動態地賦給引數的做法,可以避免在程式中大量使用if-else(switch)語句,同時使得程式具有更好的可擴充套件性。

【我的理解】

委託相當於就是乙個函式,它有某種功能,其變數是一種方法,通過委託能夠間接的呼叫該方法。實際上委託時對函式的封裝。

理解了委託之後我們應該怎樣應用呢?首先就是要定義乙個委託,這跟一般的類沒有差別,感覺到了熟悉。

//宣告委託 catshouteventhandler

public delegate void catshouteventhandler();

定義乙個方法

class mouse

//定義了乙個方法

public void run()

快跑!」,name );}}

例項化該委託,並實現呼叫

cat.catshout += new cat.catshouteventhandler(mouse1.run);

cat.catshout += new cat.catshouteventhandler(mouse2.run);

委託,就是實現了呼叫乙個方法,一旦委託分配了方法,委託將具有與該方法完全相同的行為。

再見

C 中的委託 delegate

delegate,中文意為 委託 是c 中新引入的乙個概念。我個人的理解,delegate相當於c 中函式指標在oop程式設計下的封裝。delegate的用途,如同函式指標的功能一樣,是為了在類似啟動執行緒 通用庫中的高階函式 以及事件處理等場合中,把乙個方法,或者說函式,作為乙個引數來傳遞。del...

C 中的委託 delegate 用法簡介

委託 delegate是只有乙個函式的特殊的類 委託物件的引用相當函式指標 delegate 宣告定義一種引用型別,該型別可用於將方法用特定的簽名封裝。委託例項封裝靜態方法或例項方法。委託大致類似於 c 中的函式指標 但是,委託是型別安全和可靠的。委託使您得以將函式作為引數傳遞。委託的型別安全要求作...

學習筆記 C 中的委託(delegate)

delegate 一 什麼是委託?委託是一種引用型別,它是函式指標的託管版本。在c 中,委託是一種可以把引用儲存為函式的型別。委託可以引用例項和靜態方法,而函式指標只能引用靜態方法。委託的宣告非常類似於函式,和函式不同的的是委託不帶函式體,並且需要delegate關鍵字。委託的宣告指定了乙個函式簽名...