為什麼需要委託?為什麼不直接在mymethod方法裡直接呼叫add方法,反而要例項化乙個委託物件來完成呼叫呢?這豈不是自找麻煩嗎?
當然,c#引入委託並不是自找麻煩。委託是c#最好的乙個特性,它為後來的很多特性都打下了基礎。委託使得乙個方法可以作為另乙個方法的引數進行傳遞,這就是委託最大的作用。如下例子:
例如我們要實現乙個打招呼的方法,而每個國家打招呼的方式都不一樣,剛開始我們可能會像下面這樣實現打招呼的方法:
public void greeting(string name,string language)若後續我們需要新增德國、日本等打招呼方法,就必須修改greeting方法內的case語句,來適應新的需求,這樣特別不方便。有了委託,我們就可以把函式作為引數,並像如下**實現greeting方法:}public void englishgreeting(string name )
public void chinesegreeting(string name)
public delegate void greetingdelegate(string name);如下,增加德國人打招呼:static void main(string args)
public void greeting(string name,greetingdelegate callback)
public void englishgreeting(string name)
public void chinesegreeting(string name)
class programpublic void greeting(string name,greetingdelegate callback)
public void englishgreeting(string name)
public void chinesegreeting(string name)
public void germanygreeting(string name)
}
為什麼要使用委託
使用c 但是大多數時候用不上委託,但是委託被討論得非常多,於是陷入自我懷疑,我是不是太菜了?我不禁問 為什麼要使用委託?可能試圖了解過委託的同學,都被告知委託跟函式指標的關係,又或者被告知乙個生活化的舉例 委託就是委託別人執行一件事。可能很多人嘗試了解委託的時候都停在這一步,他們了解了委託的寫法,尋...
什麼是委託?為什麼要使用委託?什麼是事件?
1 什麼是委託?首先宣告乙個委託 public delegate string islengthfive string s 下面寫幾個方法 public string dowork string a public string dosomework string b public string do...
c 為什麼要使用介面
c 為什麼要使用介面?通俗的講,就是為了降低耦合度。給大家看乙個我見過的很搞笑的例子。看看下面的程式 乙個學校裡邊,有兩種人 學生 老師。他們都要吃飯和睡覺。public inte ce i人 public class 學生 i人 public void 睡覺 其他特有方法,比如泡妞 打遊戲 pub...