async Task MyMethodAsync(int sleepTime, IProgress<MyTaskProgressReport> progress)
{
int totalAmount = 10000;
for (int i = 0; i <= totalAmount;)
await Task.Delay(sleepTime);
progress.Report(new MyTaskProgressReport { CurrentProgressAmount = i, TotalProgressAmount = totalAmount, CurrentProgressMessage = string.Format("On {0} Message", i) });
i = i + sleepTime;
}
//current progress
public int CurrentProgressAmount { get; set; }
//total progress
public int TotalProgressAmount { get; set; }
//some message to pass to the UI of current progress
public string CurrentProgressMessage { get; set; }
label1.Text = progress.CurrentProgressMessage;
textBox1.Text = string.Format("{0} out of {1}", progress.CurrentProgressAmount, progress.TotalProgressAmount);
var progressIndicator = new Progress<MyTaskProgressReport>(ReportProgress);
await MyMethodAsync(1000, progressIndicator);
Maheshkumar S Tiwari edited Revision 1. Comment: Added Tag
Ed Price - MSFT edited Revision 4. Comment: Removed 1st person voice; tags