說說C 委託

2022-01-23 06:14:00 字數 1777 閱讀 5064

一聽到委託,當然就感覺到這件事情是給某東西去做。

比如,你委託啊新哥去買包菸 ,委託是不是好像只是一種宣告一樣,真正的動作是去買菸().也就是教材書上說的方法的簽名

那先看看委託的宣告: public delegatestring (string name); //public 修飾符 delegate宣告委託的關鍵字 void 是返回型別 name當然是引數

還要說明的是 委託是一種型別。好了其它的不多說,先來用用委託這東西

委託儲存的是方法的位址買菸 my 所以my我們也就可能是乙個方法既然這個東西這麼好,用誰就是指向誰就好,是不是少了很多if swtihc的判斷(因為你要誰就指向誰了,當然就有這種感覺呢!)

下面一步一步來體現這種感覺

我們知道打招乎中國人當然是中文,英國人當然是英文

英國人打招乎:

////英文

public void englishgreeting(string name)

中國人打招乎:

////中文

public void chinesegreeting(string name)

////如果要加另外一些國家的方法呢??

public enum language

////問候人們的方法 ,當然越來越多呢?????

public void greepeople(string name, language lange)

}

上面我們有用列舉和switch分支來判斷是那個人打招乎了,並呼叫某一方法。實現不同國家的人調不同的方法,那問題又來了,哥們如果在加些一法國,德國。。。一些國家

那麼這個swtich分支結構就不好寫了是不,越來越多了!上面不是說了嘛,用誰就呼叫誰嘛!把委託當作當引數,用誰就指向誰的方法

private static void englishgreeting(string name)

private static void chinesegreeting(string name)

//用委託型別作為引數來傳遞

引用網上看到的一句話:委託是乙個類,它定義了方法的型別,

使得可以將方法當作另乙個方法的引數來進行傳遞,這種將方法動態地賦給引數的做法,

可以避免在程式中大量使用if-else(switch)語句,同時使得程式具有更好的可擴充套件性。

好了委託就說說這裡,也是簡單的說了下,希望對朋友們有幫助

簡單說說委託

在c 中,大多時候,方法的引數是資料,但有時我們會想將 方法 作為引數,這時,我們就可以用委託。委託一般情況下會和事件一起使用,事件說白了也是特殊的乙個方法。先看個例子吧 有很多方法,比如求平方,求階乘 想讓使用者輸入值,求該值的平方,階乘 using system using system.col...

C 委託 委託概述

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

C 委託 匿名委託

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