C 委託專題

2022-10-06 17:30:13 字數 1055 閱讀 2331

單播委託:乙個委託只指向乙個方法;

多播委託:乙個委託指向多個方法,形成乙個方法鏈;

main是靜態方法,裡面只能引用靜態方法,而不能引用例項方法;

main可以進行類的例項化,然後引用例項化後的方法;

委託的使用流程:宣告委託,例項化委託,繫結事件,呼叫委託(也就是呼叫委託繫結的方法);

宣告委託的地方:1類的外面

2類的裡面,方法的外面;

不能在方法的裡面宣告委託;

委託例項化的方法

1用new

關鍵字,將乙個

new委託賦值給委託

2不用new

,直接將乙個方法賦值給委託

第一次例項化(第一次繫結方法):mydelegate mydel2 = new mydelegate(add);或mydelegate mydel=cal.add;

第二次繫結方法(多播委託)del += f3;mydel2 +=new mydelegate(add);

+=可以是增加乙個新的方法,也可以增加乙個新的委託

new delega

,型別必須相同;

+=增加委託方法,

-+刪除委託方法;

在沒有增加某方法時進行-=刪除操作,也不會報錯;

del del = (del)delegate.combine(new del(f1), new del(f2));

關於delegate.combine方法,兩個引數必須為同種型別的委託,即使兩個委託的引數返回值都一樣也不行;

也就是兩個引數必須使用同乙個宣告的委託型別;否則報錯;

combine返回值是delegate基型別,必須顯示轉換為引數的那種型別;否則報錯;

接收型別和兩個引數型別必須是同乙個委託宣告的型別;否則報錯;

例如:下面三個委託宣告型別相同,但是不能用在combine方法中;

combine方法很雞肋,又複雜,要求又多;

public delegate void del();

public delegate void del_1();

public delegate void del_2();

C 委託 委託概述

c 委託概述 委託這個詞在生活中經常用到,委託律師打官司,委託房地產公司購買房子。委託保險 人辦理保險。委託就是把事情交給別人去辦。c 中的委託和生活中的委託很相似,如果將乙個方法委託給乙個物件,那麼這個物件就可以全權 這個方法執行。委託宣告定義乙個類,它是從 system.delegate 類派生...

C 委託 匿名委託

c 委託 匿名委託 委託變數在繫結方法時,是把方法名賦值給了委託變數名,這 樣就需要在類裡面定義方法,而有些方法只用到了 次,這樣的 方法在類裡面過多時,程式的可讀性就不是太好,針對這種情 況,可以使用匿名委託,即不用在類裡面額外定義方法.delegate定義的匿名委託 格式 delegate 引數...

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

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