【发布时间】:2013-04-18 21:06:30
【问题描述】:
我使用的库有一个名为 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 是只读的)
这个可以吗?
【问题讨论】:
标签: c# task-parallel-library .net-4.5 async-await c#-5.0