38

C#プロジェクトではStyleCopを使用しています。ただし、ルールを避けたい場合もあります。// <auto-generated />ファイルの先頭に追加して、StyleCopに無視させることができることを私は知っています。ただし、ファイル全体のルールを無視したくはありません。ファイル内のコードのブロックのみを無視します。

どういうわけか特定の行のStyleCopを無効にできますか?

4

5 に答える 5

37

コードのブロックに属性を追加することで、ルールを抑制することができます。以下にリンクされているブログ投稿のクラスの簡単な例を次に示しますが、さまざまなメンバーに対して個別に実行できます。

[SuppressMessage("Microsoft.StyleCop.CSharp.DocumentationRules", "SA1600:ElementsMustBeDocumented")]
public class MyUndocumentedClass
{
    public void MyUndocumentedMethod {}
} 

MSDN のブログ投稿に簡単な概要があり、MSDNの属性の詳細な説明があります

于 2009-11-18T11:19:14.953 に答える
13

私が知っている古い質問ですが、答えを探していると、stylecop 4.4 では、次のようなもの、またはこれらの行のいずれかをメソッドに配置できることがわかりました。

[SuppressMessage("Microsoft.StyleCop.CSharp.DocumentationRules", "*", Justification = "Risky to change manually")]
[SuppressMessage("Microsoft.StyleCop.CSharp.SpacingRules", "*", Justification = "Risky to change manually")]
[SuppressMessage("Microsoft.StyleCop.CSharp.MaintainabilityRules", "*", Justification = "Risky to change manually")]
[SuppressMessage("Microsoft.StyleCop.CSharp.LayoutRules", "*", Justification = "Risky to change manually")]
[SuppressMessage("Microsoft.StyleCop.CSharp.NamingRules", "*", Justification = "Risky to change manually")]
[SuppressMessage("Microsoft.StyleCop.CSharp.ReadabilityRules‌​", "*", Justification = "Risky to change manually")]
[SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "*", Justification = "Risky to change manually")]
  • 注: 1 つまたは 2 つのルール カテゴリが欠落している可能性があります
于 2011-05-23T01:29:00.263 に答える
6

このは、優れた一般的な無視ハックを持っているようです。彼はこれをファイルの先頭に置くことを提案しています-テスト済みでR#で作業しています

//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// </auto-generated>
//------------------------------------------------------------------------------

たとえば、ほとんど実装されていないインターフェイスに準拠するために定型文を大量に作成する場合に便利です。

于 2013-11-20T11:03:21.060 に答える