私は基本クラスから継承するコマンドのグループを持っています。async待機する必要のないタスクメソッド
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;
}
私は差分を取っ私の元のコードの出力と推奨される変更の出力はdotPeekから得られ、それらは同じです(デバッグDLL)。あなたの例は私の元々の動機であったコンパイラの警告も削除します。 - ありがとう! – jchristof