0

我想等到调用回调方法结束,然后继续我的工作。我试过类似的东西:

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

但是在调用 ot DOwork 后回调没有触发。

4

1 回答 1

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
于 2012-12-17T22:55:32.967 回答