Alcuni System.Threading.Tasks.Task
costruttori prendono a CancellationToken
come parametro:
CancellationTokenSource source = new CancellationTokenSource();
Task t = new Task (/* method */, source.Token);
Ciò che mi sorprende di questo è che non c'è modo dall'interno del corpo del metodo di ottenere effettivamente il token passato (ad esempio, niente di simile Task.CurrentTask.CancellationToken
). Il token deve essere fornito tramite qualche altro meccanismo, come l'oggetto stato o catturato in un lambda.
Quindi, a cosa serve fornire il token di annullamento nel costruttore?