You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何高效创建已取消状态的CancellationToken?

如何直接获取已处于取消状态的CancellationToken?

在单元测试的一个罕见场景中,我需要生成已处于取消状态的CancellationToken,目前是这样实现的:

CancellationTokenSource cts = new CancellationTokenSource();
cts.Cancel();

Send(cts.Token);

我们知道CancellationToken.None用于表示不可取消的请求,那有没有类似CancellationToken.Cancelled的现成对象,可以不用先创建CancellationTokenSource再取消?


没有现成的CancellationToken.Cancelled静态属性,但你可以直接通过**CancellationToken的构造函数**快速创建已取消的令牌:

Send(new CancellationToken(true));

这个构造函数接受一个bool参数,传入true就会创建一个已处于取消状态的CancellationToken;对应地,CancellationToken.None本质上就是new CancellationToken(false),也就是未取消状态的令牌。

这种写法比创建CancellationTokenSource再取消的方式更简洁,完全满足需求。

内容的提问来源于stack exchange,提问作者user22155685

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 07:02:03