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