Если CancellationToken является структурой и передается по значению, как она обновляется?C#

Место общения программистов C#
Ответить
Anonymous
 Если CancellationToken является структурой и передается по значению, как она обновляется?

Сообщение Anonymous »

Учитывая, что CancellationToken является структурой, если я передаю ее экземпляр методу по значению, он не должен быть изменен вызывающим объектом. Итак, если я передаю CancellationToken (по значению), то я вызываю cts.Cancel(), как метод, имеющий копию этого токена, уведомляется об этом его отменили? Разве это не должно работать только при передаче по ссылке?
Например:
public static void Main()
{
var cts = new CancellationTokenSource();
SomeCancellableOperation(cts.Token);
cts.Cancel();
}

public void SomeCancellableOperation(CancellationToken token)
{
...
token.ThrowIfCancellationRequested();
...
}


Подробнее здесь: https://stackoverflow.com/questions/481 ... it-updated
Ответить

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

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

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

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

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