当使用await关键字实现接口(因为模拟、远程处理或类似)并具有返回 Task<> 方法的接口时:
interface IFoo
{
Task<BigInteger> CalculateFaculty(int value);
}
编译器出现错误:
'await' 运算符只能在异步方法中使用。考虑使用“异步”修饰符标记此方法并将其返回类型更改为“任务”
考虑到返回类型是“任务”,这有点不寻常。这个问题有点令人沮丧,并迫使我使用延续样式“回退”或围绕此接口提供额外的代理(因此对于几乎每个对我来说都不可行的接口)
有没有人知道如何解决这个问题?