Action和Func泛型委託

2021-06-22 02:24:35 字數 1141 閱讀 2317

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 委託封裝的方法的引數 返回值 此委託封裝的方法的返回...