У меня есть асинхронный код, к которому я хотел бы добавить CancellationToken
. Однако во многих реализациях в этом нет необходимости, поэтому я хотел бы иметь параметр по умолчанию - возможно, CancellationToken.None
. Тем не мение,
Task<x> DoStuff(...., CancellationToken ct = null)
дает
Значение типа '' нельзя использовать в качестве параметра по умолчанию, поскольку нет стандартных преобразований в тип 'System.Threading.CancellationToken'
и
Task<x> DoStuff(...., CancellationToken ct = CancellationToken.None)
Значение параметра по умолчанию для ct должно быть константой времени компиляции.
Есть ли способ установить значение по умолчанию для CancellationToken
?
new CancellationToken()
, что в точности эквивалентноdefault
, поскольку CancellationToken - это структура. - person Palec   schedule 13.05.2021