我有一组从基类继承的命令。基类具有以下声明:
public virtual async Task Execute(object parameter){}
继承类提供了对此方法的重写,并不是所有继承类都等待任务。在这些情况下,编译器会生成一个警告:
此异步方法缺少“await”运算符,将同步运行。考虑使用“await”运算符等待非阻塞 API 调用,或使用“await Task.Run(…)”在后台线程上执行 CPU 绑定工作。
明确提供任务完成返回值是否正确?
public override async Task Execute(object parameter) {
//code containing no await statements...
await Task.CompletedTask;
}