Pourquoi CancellationToken est-il distinct de CancellationTokenSource?

Je cherche une raison pour laquelle .NET CancellationTokenstruct a été introduit en plus de la CancellationTokenSourceclasse. Je comprends comment l'API doit être utilisée, mais je veux également comprendre pourquoi elle est conçue de cette façon. Ie, pourquoi avons-nous: var cts = new...