c 對於委託,事件,泛型的理解

2022-08-10 03:45:12 字數 926 閱讀 3449

1.委託

我對委託的理解是乙個公共資源,可以把委託比作外賣小哥,外賣小哥可以幫商家a送貨,也可以幫商家b送貨,並且這些商家也不需要知道買他們東西的人的住址,這個送貨的過程就是交給外賣小哥去做的。這樣的話,分工很明確,自然整個過程的效率也提高了。

委託是一種型別(委託型別),同意需要定義,例項化,之後才能呼叫,就像我們用class來定義乙個類,用new 來例項化乙個類一樣的。委託用delegate來定義乙個委託型別,同意用new來例項化乙個委託物件。

使用委託四步走

(1)定義委託型別

public delegate void stringprocessor(string s); 定義了乙個委託,且規定了可以使用這個委託的規則,即 僅有乙個string型別的引數,返回型別是void的方法

(2)有乙個合乎(1)中規定的方法

public void sayhello(string msg)

",msg));

}(3)例項化乙個委託物件

stringprocessor processor = new stringprocessor(sayhello);

(4)呼叫委託物件

processor("lily");

2.事件

事件類似於屬性,屬性是一組get,set的方法,而事件是一組add,remove的方法。

3.泛型

泛型相當於乙個模板,假如a類需要實現功能f,b類也需要實現功能f,都是實現功能f,只是型別不一樣,要怎樣才能只寫乙個方法來實現呢?

(1)寫乙個引數為object的方法,object是a的父類,也是b的父類,利用引數的協變是可以的,但是把object型別的輸入引數強制轉換成a或者b來使用

(2)用泛型,傳入引數是t型別的,在編譯時,編譯器會根據使用的情況來推測這個t型別具體時什麼型別,不需要強制轉換

好處:1.減少強制型別轉換,將檢查型別

c 委託事件

1,什麼是委託 委託是什麼?從生活理解就像是你是乙個c 程式設計師,你對c 並不了解,當需要進行c 分析的時候你委託給你的一位懂c 的同事幫你來完成 在c 中,委託的作用是這樣描述的 委託就像乙個函式的指標,在程式執行時可以使用它們來呼叫不同的函式。簡單點說,委託能夠引用函式,通過傳遞位址的機制完成...

C 委託事件

一 委託 委託類似於函式指標,但函式指標只能引用靜態方法,而委託既能引用靜態方法,也能引用例項方法。委託使用分三步 1 委託宣告。2 委託例項化。3 委託呼叫。例程一 程式 using system namespace 委託 private int add int num1,int num2 例中,...

C 委託事件

1 namespace222 2324 25 26 建立執行方法 27 28 29 30 31static int stratrun int count,int num count num 3233 34 35 第一步宣告委託 36 37 計算前的總數 38 數字39 計算後的總數 40public...