等待异步方法回调

时间:2012-12-17 22:32:42

标签: .net visual-studio-2010 silverlight-4.0 c#-3.0

我想等到调用回调方法结束并在此之后继续我的工作。我试过像:

ThreadPool.QueueUserWorkItem(_ =>
{
    DoWOrk(callbackmethod, inputstring);
    ctx.Post(state => { }.null);

但是在校准之后,回调没有触发。

1 个答案:

答案 0 :(得分:1)

var tcs = new TaskCompletionSource<object>();
DoWork(() => { //wrap callback
  callbackmethod(); //call original callback
  tcs.SetResult(null); //signal task
}, inputstring);

var task = tcs.Task; //await this task or use ContinueWith