0

これは私には直感的ではないようです:

var cts = new CancellationTokenSource();
cts.Cancel();
var tcs = new TaskCompletionSource<int>();
try
{
    tcs.Task.Wait(cts.Token);
}
catch (OperationCanceledException)
{   
    Console.WriteLine(tcs.Task.Status); //TaskStatus.WaitingForActivation
}

ステータスが に更新されることを期待していますTaskStatus.Canceled。に残す理由は何TaskStatus.WaitingForActivationですか?

4

1 に答える 1

3

あなたは誤解していますWait()

Wait(CancellationToken)待機操作をキャンセルできます。
基になるタスクには影響しません。

于 2013-07-14T14:31:33.933 に答える