Delegate 委託複習 委託的基本概念

2021-09-08 17:03:59 字數 867 閱讀 8221

1. 宣告乙個delegate物件,它應當與你想要傳遞的方法具有相同的引數和返回值型別。 

宣告乙個**的例子:

public delegate int mydelegate(string message);

2. 建立delegate物件,並將你想要傳遞的函式作為引數傳入。 

建立**物件的方法:

1). mydelegate mydelegate = new mydelegate(例項名.方法名);

2). mydelegate mydelegate = new mydelegate(類名.方法名);

注:如果需要**的方法是乙個static靜態方法的話,採用第2種方式,否則採用第1種方式。

3. 在要實現非同步呼叫的地方,通過上一步建立的物件來呼叫方法。 

可以直接使用**呼叫**所指向的方法:

mydelegate(向方法傳遞的引數);

**的定義必須放在任何類的外面,如delegate int mydelegate();而在類的方法中呼叫mydelegate d = new mydelegate(myclass.mymethod);來例項化自定義**的例項。

**三步曲:

a.生成自定義**類:delegate int mydelegate();

b.然後例項化**類:mydelegate d = new mydelegate(myclass.mymethod);

c.最後通過例項物件呼叫方法:int ret = d();

寫的非常好的文章

1:    func與action

2:3:表示式 

3:英語學習之路

4:log4net

5:定義 jquery外掛程式 

初始delegate委託

剛剛接觸c 不足三個月,最近網上查了一下c 的delegate委託。發現delegate更類似於之前學習c語言時候的指標,可以呼叫其它方法。使用委託可以將方法作為引數來賦值和傳遞。1 定義委託 2public delegate void mytestdelegate int i 3 class pr...

委託例項(delegate例項 事件委託通知)

delegate例項 delegate是c 中的一種型別,它實際上是乙個能夠持有對某個方法的引用的類。與其它的類不同,delegate類能夠擁有乙個簽名 signature 並且它只能持有與它的簽名相匹配的方法的引用。它所實現的功能與c c 中的函式指標十分相似。它允許你傳遞乙個類a的方法m 給另乙...

c 委託 與多播委託delegate

委託又叫匿名函式,首先我們來說為什麼要使用委託 委託到底是什麼 舉乙個例子 我想求煉表裡少於10的數的和,getsum static int getsum listlist return sum 我又想求煉表裡所有奇數的和,那麼是否是又要寫乙個函式getsum2 來求呢 static int get...