Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1195 of 1492 menu
◀ ▶

ThrowIfCancellationRequested

ThrowIfCancellationRequested у CancellationToken ничего не делает для None. Для new CancellationToken(true) бросает OperationCanceledException. Проверяют вместо чтения IsCancellationRequested.

Синтаксис

token.ThrowIfCancellationRequested();

Пример

Давайте вызвать для None:

using System; using System.Threading; class Program { static void Main() { CancellationToken.None.ThrowIfCancellationRequested(); Console.WriteLine(CancellationToken.None.IsCancellationRequested); } }

Результат выполнения кода:

False

Пример

Давайте поймаем отменённый токен:

using System; using System.Threading; class Program { static void Main() { CancellationToken token = new CancellationToken(true); try { token.ThrowIfCancellationRequested(); } catch (OperationCanceledException) { Console.WriteLine("fail"); } } }

Результат выполнения кода:

"fail"

Пример

Давайте вызвать после Cancel источника:

using System; using System.Threading; class Program { static void Main() { CancellationTokenSource cts = new CancellationTokenSource(); cts.Cancel(); try { cts.Token.ThrowIfCancellationRequested(); } catch (OperationCanceledException) { Console.WriteLine("fail"); } cts.Dispose(); } }

Результат выполнения кода:

"fail"

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить