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