如何忽略 ReSharper 中未分配的新内容?

Posted

技术标签:

【中文标题】如何忽略 ReSharper 中未分配的新内容?【英文标题】:How to ignore unassigned new in ReSharper? 【发布时间】:2019-01-21 02:42:45 【问题描述】:

(使用 ReSharper Ultimate 2017.1.3。)

在我的代码中我有这样的东西:

new someClass(null);

它没有分配给任何变量,它应该保持这样。 (它可能看起来很奇怪,但它用于特定的测试用例。)

ReSharper 警告说:

'new' 表达式创建的可能未分配对象

菜单不建议自动写评论,所以我正在寻找语法。

什么是 ReSharper 注释可以忽略这个?

经过一番搜索,我已经尝试过:

// ReSharper disable once

// ReSharper disable once UnassignedField

// ReSharper disable once UnassignedField.Compiler

【问题讨论】:

"它没有分配给任何变量,它应该保持这样。" - 实际上,我将在这里支持 resharper ......听起来你以非常不恰当的方式使用构造函数,坦率地说应该改变。 顺便说一句;使工具对“未使用”值感到满意的另一个常见技巧是:GC.KeepAlive(your statement); - 这实际上并没有让任何东西“活着” - 它只是一个故意不透明的方法,它执行 pop 它在一个测试用例中测试构造函数在给定 null 参数时返回 ArgumentNullException。否则,我不决定公司的代码语法和做法。 (只是添加了我在原始帖子中忘记的“null”参数) 在生产代码中,我很难找到这样做的充分理由,但对于 Assert.Throws(()=>new富(空));您可以将它分配给一个变量,但它会抱怨一个未使用的变量。 【参考方案1】:

如果将此行直接放在未分配的新行上方,则可以禁用一次警告。

// ReSharper disable once ObjectCreationAsStatement

【讨论】:

感谢您的建设性批评。 没问题。我尝试以积极的方式写作,并为他人着想。 :) 祝你好运。

以上是关于如何忽略 ReSharper 中未分配的新内容?的主要内容,如果未能解决你的问题,请参考以下文章

Resharper 所说的“对象分配(明显)”是啥意思?

一个可能的 Resharper 错误还是我只是错过了一些微妙的东西?

将 Resharper 忽略的错误置于版本控制之下

ReSharper Unit Test Runner 忽略部署项配置

有没有办法让 Resharper 忽略未使用的引用?

VS2017安装ReSharper