CancellationToken
CancellationToken - значимый тип.
Берут из
Token
у
CancellationTokenSource
или используют
None,
если отмена не нужна. Проверяют
IsCancellationRequested
и вызывают
ThrowIfCancellationRequested.
Синтаксис
CancellationToken token = cts.Token;
if (token.IsCancellationRequested) { }
Пример
Давайте проверить токен до отмены источника:
using System;
using System.Threading;
class Program
{
static void Main()
{
CancellationTokenSource cts = new CancellationTokenSource();
CancellationToken token = cts.Token;
Console.WriteLine(token.IsCancellationRequested);
cts.Dispose();
}
}
Результат выполнения кода:
False
Пример
Давайте отменить через
Cancel:
using System;
using System.Threading;
class Program
{
static void Main()
{
CancellationTokenSource cts = new CancellationTokenSource();
CancellationToken token = cts.Token;
cts.Cancel();
Console.WriteLine(token.IsCancellationRequested);
cts.Dispose();
}
}
Результат выполнения кода:
True
Пример
Давайте сравнить с CancellationToken.None:
using System;
using System.Threading;
class Program
{
static void Main()
{
Console.WriteLine(CancellationToken.None.CanBeCanceled);
Console.WriteLine(CancellationToken.None.IsCancellationRequested);
}
}
Результат выполнения кода:
False
False
Смотрите также
-
CancellationTokenSource,
источник токена -
None,
токен без отмены -
Register,
обработчик отмены -
CreateLinkedTokenSource,
связать несколько источников