如果您有以下方法,那么调用Action参数的结果将返回传入的通用T1的类型,您将如何编写它?我一直遇到编译器错误。
private static void Test<T1>(T1 report, Action action)
{
report = action;
}
答案 0 :(得分:5)
操作返回类型为void
,即它不会返回任何内容。
您需要使用Func<T1>
,而不是像这样 -
private static void Test<T1>(T1 report, Func<T1> action)
{
report = action.Invoke();
}
OR
private static void Test<T1>(T1 report, Func<T1> action)
{
report = action();
}