【问题标题】:Tell Resharper that a lambda argument is not null告诉 Resharper 一个 lambda 参数不为空
【发布时间】:2015-02-11 11:36:33
【问题描述】:

我有这样的方法:

void Foo(object x, Action<object> f) {
    if (x != null)
        f (x);
}

我想这样使用它:

void Bar () {
    Foo ("baz", g => g.ToString());
    Foo (null, g => g.ToString());
}

但 Resharper 抱怨 lambda 中的 g 可能为空。是否可以注释方法告诉 Resharper g 永远不会为空?

【问题讨论】:

  • 我没有收到来自 Resharper 的警告。我必须把它关掉,因为它会很烦人。我会看看我是否能弄清楚哪个设置可以处理这个问题。
  • 您必须启用悲观检查器
  • 我也没有收到任何警告,我没有关闭任何东西
  • @Aswartha 您必须明确启用更严格的空值检查
  • 现在有一个功能请求:youtrack.jetbrains.com/issue/RSRP-429178

标签: c# lambda resharper


【解决方案1】:

使用 ReSharper,当您处于可以改进的行时,代码编辑器的左侧应该会出现一个黄色灯泡,如果您单击它,会有一个“Inspection:...”选项,请单击它,然后点击Disable once with comment,评论如下:

// ReSharper 禁用一次 ...

应该出现在该行之前。您可以找到具体说明“它不会为空”的艰难方法,或者只是让它忽略问题。我希望它有所帮助。

编辑:我想说我使用的是许可 ReSharper 9,只是为了指定。

【讨论】:

    猜你喜欢
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 2018-08-21
    • 1970-01-01
    • 2021-09-11
    • 2013-06-08
    • 1970-01-01
    相关资源
    最近更新 更多