我想等到调用回调方法结束并在此之后继续我的工作。我试过像:
ThreadPool.QueueUserWorkItem(_ =>
{
DoWOrk(callbackmethod, inputstring);
ctx.Post(state => { }.null);
但是在校准之后,回调没有触发。
答案 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