Task.Run的歧义

时间:2017-09-07 16:35:49

标签: c# compiler-errors delegates ambiguity

主要

中的这一行
Task.Run(f);

将此函数放在同一个类Program

static int f() { return 0; }

导致此编译错误(f中没有其他名为Program的方法):

  

CS0121以下方法或属性之间的呼叫不明确:' Task.Run< TResult>(Func< TResult>)'和' Task.Run(Func< Task>)'

显然不是Func<int>而不是Func<Task>吗?

然而,所有这些工作:

Task.Run(() => 0);
Task.Run(() => f());
Task.Run(async () => f());

0 个答案:

没有答案