c 中使用委託

2021-05-22 14:19:58 字數 1104 閱讀 1485

對於委託的定義,我的理解就是封裝一型別的方法,然後根據傳遞進的引數,由系統來進行選擇呼叫。

申明:delegate void voidoperation(uint x)

這申明了乙個委託,與這個委託匹配的方法格式為:不返回任何結果,引數。

delegate int intoperation(int x,int y)

申明乙個委託,與這個委託匹配的方法格式為:返回乙個整數,需要傳入兩個整型的引數。

delegate bool booloperation(object o1,object o2)

申明乙個委託,與這個委託匹配的方法格式為:返回乙個bool型引數,需要傳入兩個物件引數。

使用方法:

要使用委託,首先需要擁有乙個與委託相匹配的方法,然後將方法傳入委託,然後通過委託得到結果。

示列:------類-------

class test1

else}

} ---------申明委託------------

public delegate bool compareop(test1 o1, test1 o2);

---------使用委託------------

test1 t1 = new test1();

test2 t2 = new test2();

compareop cp = new compareop(test1.compareover)

bool label = cp(t1,t2);

--------說明--------------

首先test1類中有乙個比較大小的靜態方法,其方法與申明的委託一致(因此可以使用委託),

當例項化委託時將這個方法傳入,也就是說委託cp具有了test1類中的比較的方法,

這時當你傳入兩個實列化的物件後,得出結果。

注意事項:

所以從上面可以看出,委託是將方法作為引數傳入,然後可以通過傳入引數得到結果。

比較常用的就是跨執行緒呼叫時用到委託,

還有就是當你不知道,到底傳入什麼引數,利用什麼方法,來進行操作,你可以設計乙個委託來封裝乙個標準的介面,然後對於想進行操作的類來說,他只要按照委託的格式設計乙個方法就可以進行操作了。當然這個也可以用介面來實現。

C 中使用委託

c 中使用委託 在這樣一類環境中使用委託是較好的方式,如 資料提供方提供資料給另一方使用,提供方不用關心對方如何使用這些資料,而只是關心提供哪些資料。而使用方不關心提供哪些資料,只關心如何使用這些資料的情況。使用委託的步驟 1 宣告委託,定義引數列表 2 例項化委託,同時將乙個符合委託宣告引數的方法...

form中使用委託

有關委託 private delegate void executedirective string str,int persistence 定義委託 private delegate void executedirective2 定義委託 呼叫form中的控制項方法要使用invoke來呼叫,否則出...

程序中使用委託(程序中使用程序)

delegate void setlablevisible bool bl 隱藏控制項的委託 設定進度控制項的隱藏顯示 委託 private void setvisible bool bl else this setvisible false 隱藏狀態控制項 當在程序中需要呼叫另外乙個程序的控制項的...