コードインスペクション:'await' 演算子のない Async メソッド('await' 演算子なしの async void メソッドオーバーライド)
async 修飾子は、メソッド、タスク、ラムダ式内で await キーワードを使用できるようにするために使用されます。 async メソッドに await 演算子が含まれていない場合、通常のメソッドと同様に同期的に実行されます。
このコードはコンパイルおよび実行できますが、多くの場合、実装が不完全であるか、 async メソッドの動作を誤解していることを示しています。 このメソッドは同期的に実行されるため、 async 修飾子は不要であり、削除するか、 await を使用して非同期操作を実行するようにメソッドを更新する必要があります。
public class C
{
public async void Foo()
{
var x = async () => { };
}
}
public class C
{
public void Foo()
{
var x = () => { };
}
}
このインスペクションの簡易修正では、メソッドまたはラムダ式から async 修飾子を削除します。
2026 年 6 月 12 日