需求:progress.Report执行进度报告完成后,再执行其余的代码;
问题:progress.Report的返回值是void,没法用await,怎么等待其结束?
c# 如何等待一个返回值为void的进度报告事件结束?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
8条回答 默认 最新
- cqtrq 2015-09-18 14:19关注
答案出来了:
var task = Task<int>.Run(() => { int i = UpdateResult(dictionaryStockReal[stockCode]); return i; }); //报告一次进度后退出 if(task.Result ==1)
其中: UpdateResult就是progress.Report调用的函数。
总结:灵活运行Task,可以完全抛弃MS程式化的IProgress.Report 方法!本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报