如果您有以下方法,那么调用Action参数的结果将返回传入的泛型T1的类型,那么如何编写它?我一直在遇到编译器错误。将对象类型赋值给操作返回?
private static void Test<T1>(T1 report, Action action)
{
report = action;
}
如果您有以下方法,那么调用Action参数的结果将返回传入的泛型T1的类型,那么如何编写它?我一直在遇到编译器错误。将对象类型赋值给操作返回?
private static void Test<T1>(T1 report, Action action)
{
report = action;
}
动作返回类型是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();
}
为什么不只是'report = action();'? –
是的,它是一样的。谢谢。 –
为什么action.Invoke()甚至存在?可怕的语法。 –
甚至从编译时错误,为什么还要有一个参数预留,如果你再要立即忽略它? –
只是我的一个不好的例子。 – user3010406
这里有一个提示:小心你所要求的 - 答案可能会跟随你的不佳例子。 –