public static void Explain(this CancelTask runnable, TextWriter writer) { writer.WriteLine(@" - Passing a token to a task does only impact the final state of the task - Cancellation is a cooperative effort "); }
public static async Task AsyncButton(object sender, ButtonTask mainTask, CancelTask cancelTaks, string waitText = WaitText) { if (sender is Button button) { if (button.Content is string prevText) { if (prevText == waitText) { cancelTaks(); return; } button.Content = waitText; await mainTask(); button.Content = prevText; } } }
private void Cancel(object sender, RoutedEventArgs e) { CancelTask?.Invoke(this, e); this.DialogResult = false; }
public void CancelChildTask(CancelTask msg) { SendTaskControlMessage(msg); }