描述:
封裝乙個具有乙個引數並返回tresult引數指定的型別值的方法.語法:
引數型別:public delegate tresult func(t arg);
t:此委託封裝的方法的引數型別.引數:tresult:此委託封裝的方法的返回值型別.
arg:委託封裝的方法的引數備註:返回值:此委託封裝的方法的返回值
可以使用此委託構造乙個能以引數形式傳遞的方法,而不用顯式宣告自定義的委託.該方法必須與此委託的方法簽名想對應.注意:也就是說,封裝的方法必須具有乙個通過值傳遞給它的引數,並且具有返回值.
若要引用乙個具有乙個引數並返回void的方法,則需要使用泛型action委託.上面接受的只是有乙個引數,並有返回值的情況,其實func委託共有以下形式:
即:當我們使用有乙個、兩個、三個、四個引數並有乙個返回值時,可以不用自己定義委託,可以使用已定義好的委託。public delegate tresult func();public delegate tresult func(t arg);
public delegate tresult func(t1 arg1,t2 arg2);
public delegate tresult func(t1 arg1,t2 arg2,t3 arg3);
public delegate tresult func(t1 arg1,t2 arg2,t3 arg3,t4 arg4);
例子:
頁面輸出:protected void page_load(object sender, eventargs e)); func
fi = new
func
(morethan5);
ienumerator
ie =list.where(fi).getenumerator();
//效果與list.where(fi).getenumerator()一致
//ienumeratorie = list.where(x => x > 5).getenumerator();
//效果與list.where(fi).getenumerator()一致
//ienumeratorie = list.where(delegate(int i)).getenumerator();
while(ie.movenext())
}public static bool morethan5(int i)
76108
C 內建泛型委託 Func委託
func委託代表有返回型別的委託 檢視func的定義 using system.runtime.compilerservices namespace system 你會發現,func其實就是有多個輸出引數並且有返回值的delegate。func至少0個輸入引數,至多16個輸入引數,根據返回值泛型返回...
委託, 泛型委託,Func和Action
使用委託來做一些事情,大致思路是 1 定義宣告乙個委託,規定輸入引數和輸出型別。2 寫幾個符合委託定義的方法。3 把方法列表賦值給委託 4 執行委託 internal delegate int mydelegate class programconsole.readkey static ienume...
Action和Func泛型委託
1.泛型action委託表示引用乙個void返回型別的方法。因為這個委託類存在不同的變體,所以可 以傳遞至多16種不同的引數型別。沒有泛型引數的action類可呼叫沒有引數的方法。action 呼叫帶乙個引數的方法,action呼叫帶兩個引數的方法,action呼叫帶8個引數的方法。2,func委託...