Invoke() в задаче продолжается после ожиданияC#

Место общения программистов C#
Anonymous
Invoke() в задаче продолжается после ожидания

Сообщение Anonymous »

Я пытаюсь выйти из формы. Но перед выходом мне нужно убедиться, что некоторые бесконечные задачи остановлены. Вот минимальный пример того, что у меня есть.

Код: Выделить всё

    public partial class Form1 : Form {
private CancellationTokenSource _cts;
private Task _backgroundTask;

public Form1() {
InitializeComponent();
_cts = new CancellationTokenSource();

_backgroundTask = Task.Run(() => DoWork(_cts.Token));
}

private async Task DoWork(CancellationToken token) {
while (true) {
try {
token.ThrowIfCancellationRequested();
await Task.Delay(1);

Debug.Write(">");
Invoke(() => { Text = DateTime.Now.ToString(); });
Debug.WriteLine("

Подробнее здесь: [url]https://stackoverflow.com/questions/79093540/invoke-in-task-continues-after-awaiting[/url]

Вернуться в «C#»