私はC#5の新しいasync/awaitキーワードにまったく慣れておらず、進行状況イベントを実装するための最良の方法に興味があります。
今、私はProgressイベントTask<>自体があった場合にそれを好むでしょう。非同期メソッドを含むクラスにイベントを配置し、イベントハンドラーである種の状態オブジェクトを渡すことができることはわかっていますが、それは解決策というよりも回避策のように思えます。また、さまざまなタスクでさまざまなオブジェクトのイベントハンドラーを起動したい場合もありますが、これはこのように厄介に聞こえます。
次のようなことをする方法はありますか?:
var task = scanner.PerformScanAsync();
task.ProgressUpdate += scanner_ProgressUpdate;
return await task;