需求:progress.Report執行進度報告完成後,再執行其余的代碼;
問題:progress.Report的返回值是void,沒法用await,怎麼等待其結束?
答案出來了:
var task = Task<int>.Run(() => { int i = UpdateResult(dictionaryStockReal[stockCode]); return i; });
//報告一次進度後退出
if(task.Result ==1)
其中: UpdateResult就是progress.Report調用的函數。
總結:靈活運行Task,可以完全拋棄MS程式化的IProgress.Report 方法!