操作が完了すると WorkDone イベントを発生させる DoWork(...) という非同期メソッドを持つライブラリを使用します。
このライブラリを呼び出すメソッドを書きたいのですが、同じパターンを維持するのではなくasync
、await
.
本質的に、私がやろうとしていることは次のとおりです。
public async Task<Result> SomeMethod()
{
var result = new Task<Result>();
library.WorkDone += (data) =>
{
result.Result = data;
}
library.DoWork();
return await result;
}
(結果が読み取り専用のため、機能しません)
これはできますか?