что такое Func <TResult>в C #? - PullRequest
1 голос
/ 09 ноября 2010

что такое Func<TResult> в C #?

Я использовал Action<T>, но не знаю, как использовать Func<TResult>?

объяснение с хорошим примером приветствуется, пожалуйста.

Ответы [ 4 ]

7 голосов
/ 09 ноября 2010

Func<TResult> представляет метод, принимающий 0 аргументов и возвращающий объект TResult, тогда как Action<T> представляет метод, возвращающий void. Вам нужны два разных делегата, так как вы не можете указать void в качестве аргумента типа.

1 голос
/ 18 ноября 2015

Действие фактически равно инкапсуляции:

void Foo<T>(T arg)

Принимая во внимание, что Функция будет равна инкапсуляции:

TResult Foo<TResult>()

Если вы не понимаете часть T или TResult, взгляните на дженерики: https://msdn.microsoft.com/en-us/library/512aeb7t.aspx

1 голос
/ 09 ноября 2010

Func похоже на Action, за исключением того, что возвращает объект последнего переданного универсального типа. Так, например, Func<string> не принимает параметров и возвращает string.Func<int, string> принимает int в качестве параметра и возвращает string.

1 голос
/ 09 ноября 2010

Func<TResult> Делегат (пример можно найти на странице MSDN).

Инкапсулирует метод без параметров и возвращает значение типа, указанного впараметр TResult.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...