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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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