如何实施Action< ..>如Func< ...>

时间:2013-01-31 15:28:42

标签: c# .net-4.0 delegates func

我想将Action实现为func并获取错误:在此上下文中无法使用void。 请指教

Action<string> someFunc_1 = Console.WriteLine;
someFunc_1("Test");

Func<string, void> someFunc_2 = Console.WriteLine;

2 个答案:

答案 0 :(得分:2)

Action<T1, T2, ...>已完成以替换Func<T1, T2, ..., void>

您不能在通用名称中使用void。它不是C#中的类型。

然后在您的情况下,使用Action<string>代替Func<string, void>

答案 1 :(得分:0)

Func<string, bool> someFunc_2 = s =>
{
  Console.WriteLine(s);
  return true;
};