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

时间:2012-12-07 16:48:28

标签: c# resharper

通常情况下,如果我不同意某些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表达式是有意义的)?

1 个答案:

答案 0 :(得分:4)

我不确定,但尝试手动插入

// ReSharper disable LoopCanBePartlyConvertedToQuery
...
// ReSharper restore LoopCanBePartlyConvertedToQuery

围绕您的代码