c 學習筆記 為什麼要使用委託

2021-10-03 19:49:36 字數 1043 閱讀 7026

為什麼需要委託?為什麼不直接在mymethod方法裡直接呼叫add方法,反而要例項化乙個委託物件來完成呼叫呢?這豈不是自找麻煩嗎?

當然,c#引入委託並不是自找麻煩。委託是c#最好的乙個特性,它為後來的很多特性都打下了基礎。委託使得乙個方法可以作為另乙個方法的引數進行傳遞,這就是委託最大的作用。如下例子:

例如我們要實現乙個打招呼的方法,而每個國家打招呼的方式都不一樣,剛開始我們可能會像下面這樣實現打招呼的方法:

public void greeting(string name,string language)

}public void englishgreeting(string name )

public void chinesegreeting(string name)

若後續我們需要新增德國、日本等打招呼方法,就必須修改greeting方法內的case語句,來適應新的需求,這樣特別不方便。有了委託,我們就可以把函式作為引數,並像如下**實現greeting方法:

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 program

public 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...