CreateLinkedTokenSource:如何避免死代码
CreateLinkedTokenSource: How to avoid dead code
我尝试实现链接的取消令牌并收到一条警告,指出 CancellationTokeSource 永远不会为 null 并且可以避免死代码。
public void Foo(CancellationToken cancellationToken , TimeSpan t) {
using CancellationTokenSource timeout = new CancellationTokenSource(t);
using CancellationTokenSource combined = CancellationTokenSource
.CreateLinkedTokenSource(
timeout.Token,
cancellationToken);
bar(combined.Token);
}
更具体地说:我收到 CA1508 警告,建议删除条件以避免死代码。但问题是,我在这里看不到任何条件。我是不是遗漏了什么或者可以安全地忽略此警告?
总结两条评论的解决方案:
有一个打开的 Roslyn Issue 并且可以安全地忽略该警告
我尝试实现链接的取消令牌并收到一条警告,指出 CancellationTokeSource 永远不会为 null 并且可以避免死代码。
public void Foo(CancellationToken cancellationToken , TimeSpan t) {
using CancellationTokenSource timeout = new CancellationTokenSource(t);
using CancellationTokenSource combined = CancellationTokenSource
.CreateLinkedTokenSource(
timeout.Token,
cancellationToken);
bar(combined.Token);
}
更具体地说:我收到 CA1508 警告,建议删除条件以避免死代码。但问题是,我在这里看不到任何条件。我是不是遗漏了什么或者可以安全地忽略此警告?
总结两条评论的解决方案: 有一个打开的 Roslyn Issue 并且可以安全地忽略该警告