我使用一个库,它有一个名为 DoWork(...) 的异步方法,该方法将在操作完成时引发 WorkDone 事件。
我想编写一个调用这个库的方法,但我不想保持相同的模式,而是希望我的方法async
可以使用await
.
本质上,我想做的是:
public async Task<Result> SomeMethod()
{
var result = new Task<Result>();
library.WorkDone += (data) =>
{
result.Result = data;
}
library.DoWork();
return await result;
}
(不工作,因为 Result 是只读的)
这可以做到吗?