1.泛型action委託表示引用乙個void返回型別的方法。因為這個委託類存在不同的變體,所以可
以傳遞至多16種不同的引數型別。沒有泛型引數的action類可呼叫沒有引數的方法。action
呼叫帶乙個引數的方法,action呼叫帶兩個引數的方法,action呼叫帶8個引數的方法。
2,func委託可以以類似的方式使用。func允許呼叫帶返回型別的方法。與action類似,
func也定義了不同的變體,至多也可以傳遞16個引數類犁和乙個返回型別。func
委託型別可以呼叫帶返回型別且無引數的方法,func呼叫帶乙個引數和乙個返回引數的方法,
func呼叫帶4個引數和乙個返回引數的方法。
下面是乙個使用func的例子
-------類定義-----------------------
public class mathoperations
public static double square(double value)
}-------測試**---------------------
private void button_測試委託2_click(object sender, eventargs e)
;for (int i = 0; i < operations.length; i++) //迴圈呼叫委託陣列
", i);
processanddisplaynumber(operations[i], 1.3);
processanddisplaynumber(operations[i], 2.6);
processanddisplaynumber(operations[i], 3.8);
console.writeline();}}
private static void processanddisplaynumber(funcaction, double value)
,result of operation is ", value, result);
}-------測試結果---------------------
委託, 泛型委託,Func和Action
使用委託來做一些事情,大致思路是 1 定義宣告乙個委託,規定輸入引數和輸出型別。2 寫幾個符合委託定義的方法。3 把方法列表賦值給委託 4 執行委託 internal delegate int mydelegate class programconsole.readkey static ienume...
泛型委託Action與func
泛型委託action和fun兩類特殊的委託,這兩個特殊的委託是dot framewrok自帶的。結合lambda表示式,可以在寫程式時,簡潔 和提高編碼效率。一 action和fun兩個委託的不同點 action只能委託必須是無返回值的方法 fun只是委託必須有返回值的方法 set private ...
Func泛型委託
描述 封裝乙個具有乙個引數並返回tresult引數指定的型別值的方法.語法 public delegate tresult func t arg 引數型別 t 此委託封裝的方法的引數型別.tresult 此委託封裝的方法的返回值型別.引數 arg 委託封裝的方法的引數 返回值 此委託封裝的方法的返回...