Action<T>
デリゲートはvoidを返します。非void値を返す他の組み込みデリゲートはありますか?
はい。 Func<>
は、Func<int>
がint
を返し、Func<int, string>
が整数を受け入れて文字列を返すように、最終的なジェネリック型パラメーターとして指定された型を返します。例:
Func<int> getOne = () => 1;
Func<int, string> convertIntToString = i => i.ToString();
Action<string> printToScreen = s => Console.WriteLine(s);
// use them
printToScreen(convertIntToString(getOne()));
もちろん、Func DelegatesはTを返します。
Func<TResult> is "TResult method()"
Func<TInput, TResult> is "TResult method(TInput param)"
までずっと
Func<T1, T2, T3, T4, TResult>
http://msdn.Microsoft.com/en-us/library/bb534960.aspx
http://msdn.Microsoft.com/en-us/library/bb534303.aspx
また、完全を期すために、boolを返すPredicateがあります。
Predicate<T> is "bool method(T param)"