0

コールバックメソッドの呼び出しが終了するまで待ってから、作業を続けたいと思います。私は次のようなものを試しました:

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

しかし、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 に答える