一聽到委託,當然就感覺到這件事情是給某東西去做。
比如,你委託啊新哥去買包菸 ,委託是不是好像只是一種宣告一樣,真正的動作是去買菸().也就是教材書上說的方法的簽名
那先看看委託的宣告: public delegatestring (string name); //public 修飾符 delegate宣告委託的關鍵字 void 是返回型別 name當然是引數
還要說明的是 委託是一種型別。好了其它的不多說,先來用用委託這東西
委託儲存的是方法的位址買菸 my 所以my我們也就可能是乙個方法既然這個東西這麼好,用誰就是指向誰就好,是不是少了很多if swtihc的判斷(因為你要誰就指向誰了,當然就有這種感覺呢!)下面一步一步來體現這種感覺
我們知道打招乎中國人當然是中文,英國人當然是英文
英國人打招乎:
////英文中國人打招乎:public void englishgreeting(string name)
////中文public void chinesegreeting(string name)
////如果要加另外一些國家的方法呢??上面我們有用列舉和switch分支來判斷是那個人打招乎了,並呼叫某一方法。實現不同國家的人調不同的方法,那問題又來了,哥們如果在加些一法國,德國。。。一些國家public enum language
////問候人們的方法 ,當然越來越多呢?????
public void greepeople(string name, language lange)
}
那麼這個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 引數...