【问题标题】:CA1062 (Code Analysis) disagrees with ReSharper -- Who wins?CA1062(代码分析)不同意 ReSharper——谁赢了?
【发布时间】:2012-02-03 17:42:03
【问题描述】:
protected override void OnTextInput(TextCompositionEventArgs e)
{
    e.Handled = true;
    DoSomething(e.Text);
}

如果我检查 null,CA 很高兴,但 ReSharper 说 null 检查总是错误的。我不确定谁在这里更值得信赖......这似乎是 ReSharper 中的一个错误,因为理论上,有人可以从我的类扩展并直接调用此方法传入 null。但我想我只是想仔细检查哪个工具是正确的,哪个工具有错误。

【问题讨论】:

  • 出于好奇,如果您在某处添加对 OnTextInput 的显式调用并将其传递为 null,ReSharper 会说什么?
  • 我要加Contract.Requires(e!=null);
  • @CodeInChaos:我们没有使用代码契约。
  • youtrack.jetbrains.net/issues/RSRP 报告错误,以便他们修复它
  • 另外,那个 CA 警告说什么?

标签: c# resharper code-analysis ca1062 null-check


【解决方案1】:

这似乎是 ReSharper 中的一个错误,因为理论上,有人可以从我的类扩展并直接传入 null 调用此方法。

尽管看起来不太可能,但这是完全可能的。我会谨慎行事并遵循代码分析建议进行空值检查。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多