var progress = new ProgressIn this example, we create a new instance of the Progress(); var tokenSource = new CancellationTokenSource(); var token = tokenSource.Token; Task.Factory.StartNew(() => { for (int i = 1; i <= 10; i++) { if (token.IsCancellationRequested) break; progress.Report(new TaskProgress($"Step {i}")); // Perform the work for step 'i' } }, token, TaskCreationOptions.LongRunning, TaskScheduler.Default);