通常、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 式に変換するのが理にかなっている他のインスタンスがある可能性があるため、ルールを完全にオフにする以外はやりたくない)?