委託(delegate),即委託別人辦事;相當於**、中介;委託某個方法來實現具體的功能。
委託是一種引用型別,是方法的抽象,宣告時與方法相似,但不能稱之為方法。
它儲存的是一系列具有相同引數和返回型別的方法位址。
呼叫委託時,委託包含的所有方法都將被執行。
委託在使用時遵循三步走的原則,即定義宣告委託、例項化委託以及呼叫委託。
委託宣告決定了可由該委託引用的方法。
語法:
修飾符 delegate 返回值型別 委託名稱(引數列表);
例:
public
delegate
intmydelegate
(string s)
;
一旦宣告了委託型別,委託物件必須使用 new 關鍵字來建立,且與乙個特定的方法有關。
建立委託時,傳遞到new語句的引數就像方法呼叫一樣書寫,不帶有引數。
例項:
using system;
public
static
intsub
(int a,
int b)
static
void
main
(string
args)
}}
執行結果:
add value:20委託物件可以使用 加減 運算子來進行合併或移除;只有相同型別的委託才能被合併。sub value:5
當委託物件中有多個方法時, 會依次執行委託中的方法,並返回最後乙個方法的結果。
using system;
public
static
intsub
(int b)
public
static
intgetnum()
static
void
main
(string
args)
}}
執行結果:
the value of multicasting:10委託的基礎介紹與使用就到這裡啦。
筆記 C 委託 delegate
網上查了很多資料,發現講委託的思路很亂!於是來整理一下。1 比喻 我把委託看成是手槍上的彈匣,而需要委託的函式則是彈匣中的子彈。要打幾槍就在委託裡裝幾發子彈,然後帶上這把槍 而不是去為每把槍裝上一發子彈,然後背一大堆槍 這裡的槍就是主函式gun 子彈可能是fire ice gold 屬性 彈匣就是委...
c 委託 delegate 揭秘
委託是一種定義方法簽名的型別。當例項化委託時,您可以將其實例與任何具有相容簽名的方法相關聯。您可以通過委託例項呼叫方法。在表面上,委託很簡單,使用new來構造委託例項。使用委託例項的變數名來呼叫 函式。實際情況是編譯器,clr在幕後做了大量的工作來隱藏其複雜性,只有了解了這些幕後的東西,你才能真正的...
c 委託 與多播委託delegate
委託又叫匿名函式,首先我們來說為什麼要使用委託 委託到底是什麼 舉乙個例子 我想求煉表裡少於10的數的和,getsum static int getsum listlist return sum 我又想求煉表裡所有奇數的和,那麼是否是又要寫乙個函式getsum2 來求呢 static int get...