如何屏蔽ReSharper建议将我的foreach循环转换为LINQ表达式的单个实例?

3

通常,如果我不同意ReSharper建议的代码转换,操作列表中会有一个选项,可以通过在代码中添加注释来禁止建议。以下是一些这些注释的示例:

// ReSharper disable UseObjectOrCollectionInitializer
var addresses = new MailAddressCollection();
// ReSharper restore UseObjectOrCollectionInitializer

并且

// ReSharper disable ReturnTypeCanBeEnumerable.Local
private static MailAddressCollection GetEventStatusNotificationRecipients(UserAccountProfile submitter, 
    UserAccountProfile projectPrincipalInvestigator)
// ReSharper restore ReturnTypeCanBeEnumerable.Local

我不知道为什么,“循环体的一部分可以转换为LINQ表达式”的操作列表中没有包含禁止ReSharper建议的选项。我已经尝试将其转换为LINQ表达式,以查看它产生的输出类型。它把一个清晰明了的foreach循环变成了混淆不清的垃圾,所以我还原了这个更改。但是,我想要能够禁止这个消息。有没有办法去除此建议(除了完全关闭规则之外,因为可能还有其他情况下将循环体转换为LINQ表达式有意义)?

我不确定这是否有任何影响,但是你安装了哪个版本的R#? - Appulus
我正在使用ReSharper 7.1.25.234。 - Matt
这很可能是我们的疏忽 - 您介意向 http://youtrack.jetbrains.net 报告一下吗?谢谢! - Dmitri Nesteruk
Dmitri - 我刚刚向 YouTrack 提交了一个错误报告。 - Matt
我会更进一步地说,大多数情况下,将代码转换为LINQ比原始代码更难阅读。我可能会撤销其中的95%。 - Loren Pechtel
1个回答

4
我不确定,但尝试手动插入。
// ReSharper disable LoopCanBePartlyConvertedToQuery
...
// ReSharper restore LoopCanBePartlyConvertedToQuery

围绕您的代码


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接