Подтвердить что ты не робот

Как описать делегат Action <T>, который возвращает значение (не пустое)?

Дельтагент Action<T> возвращает void. Есть ли другой встроенный делегат, который возвращает не пустое значение?

4b9b3361

Ответ 1

Да. 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()));

Ответ 2

Конечно, делегаты Func возвращают 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<T> is "bool method(T param)"

http://msdn.microsoft.com/en-us/library/bfcke1bz.aspx