下面的代码给出了错误CS0121,
以下方法或属性之间的调用不明确:“
RunTask(System.Func<System.Threading.Tasks.Task>)
”和“RunTask(System.Action)
”
static void RunTask(Func<Task> intTask)
{
}
static void RunTask(Action voidTask)
{
}
static async Task DoAsyncTask()
{
await Task.Delay(500);
}
public static void Main(string[] args)
{
var asyncTask = new Func<Task>(DoAsyncTask);
RunTask(DoAsyncTask);
}
但是下面的代码可以编译
static void RunTask(Func<Task> intTask)
{
}
static void RunTask(Action voidTask)
{
}
static async Task DoAsyncTask()
{
await Task.Delay(500);
}
public static void Main(string[] args)
{
var asyncTask = new Func<Task>(DoAsyncTask);
RunTask(asyncTask);
}
为什么这样?