获取Task.Delay()的进度?获取长时间运行程序的进度?

时间:2016-12-23 02:04:16

标签: c# ios xamarin xamarin.ios xamarin.android

在程序中,我有

Random rnd = new Random();
var timeout = rnd.Next(3000,10000);
System.Diagnostics.Debug.WriteLine(timeout);

await Task.Delay(timeout);

我想知道" Task.Delay(超时)"的完成百分比。或者是否有一个函数可以获得整个过程的完整百分比?

一般来说,如何获得长时间运行任务的进度?是否有特定的功能帮助做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:2)

报告进度的标准方式是IProgress。由于Task.Delay不会使用IProgress,因此您必须自行将大延迟分成多个小延迟。