代码检查:将异步代码替换为任务返回值。
此检查会报告 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日