代码检查:用 'Task' 返回替换 'async' 代码
此检查会报告仅在尾部位置等待返回任务表达式的 async 方法或本地函数。 在这种情况下, async/await 会增加状态机开销但不会改变行为,因此代码可以直接返回任务。
示例
using System.Threading.Tasks;
class C
{
public async Task<int> GetValue()
{
return await Task.FromResult(42);
}
}
using System.Threading.Tasks;
class C
{
public Task<int> GetValue()
{
return Task.FromResult(42);
}
}
快速修复
移除 async 并直接返回任务。 此修复还会解包 ConfigureAwait(false) 并在 Task 返回的方法中,按需将 return; 更新为返回 Task.CompletedTask。
2026年 5月 8日