что такое Func<TResult> в C #?
Func<TResult>
Я использовал Action<T>, но не знаю, как использовать Func<TResult>?
Action<T>
объяснение с хорошим примером приветствуется, пожалуйста.
Func<TResult> представляет метод, принимающий 0 аргументов и возвращающий объект TResult, тогда как Action<T> представляет метод, возвращающий void. Вам нужны два разных делегата, так как вы не можете указать void в качестве аргумента типа.
TResult
void
Действие фактически равно инкапсуляции:
void Foo<T>(T arg)
Принимая во внимание, что Функция будет равна инкапсуляции:
TResult Foo<TResult>()
Если вы не понимаете часть T или TResult, взгляните на дженерики: https://msdn.microsoft.com/en-us/library/512aeb7t.aspx
Func похоже на Action, за исключением того, что возвращает объект последнего переданного универсального типа. Так, например, Func<string> не принимает параметров и возвращает string.Func<int, string> принимает int в качестве параметра и возвращает string.
Func
Action
Func<string>
string
Func<int, string>
int
Func<TResult> Делегат (пример можно найти на странице MSDN).
Инкапсулирует метод без параметров и возвращает значение типа, указанного впараметр TResult.