CA1502を抑制できません

デイブ

私はこのようなものから始まるクラスを持っています:

namespace Tools.Builders
{
    internal abstract class Builder
    {
        [SuppressMessage("Microsoft.Maintainability", "CA1502")]
        private static readonly Dictionary<string, Func<ILogger, Builder>> _builders =
            new Dictionary<string, Func<ILogger, Builder>>
        {
            { "1", (x) => {return new BuilderType1(x);} },
            { "2", (x) => {return new BuilderType2(x);} },
            { "3", (x) => {return new BuilderType3(x);} },
            { "4", (x) => {return new BuilderType4(x);} },
            { "5", (x) => {return new BuilderType5(x);} },
            { "6", (x) => {return new BuilderType6(x);} },
            { "7", (x) => {return new BuilderType7(x);} },
            { "8", (x) => {return new BuilderType8(x);} },
            { "9", (x) => {return new BuilderType9(x);} },
        };
        protected ILogger _logger;
        protected Builder(ILogger logger)
        {
            _logger = logger;
        }
        //...

これにより、「Builder.Builder()の循環的複雑度が...」という形式のCA1502警告が発生します(これは、この種のイニシャライザーの既知の問題です)。しかし、私の問題は、警告を抑制できないことです。SuppressMessageAttributeをコード内のさまざまな場所に配置しようとしましたが、無視されます。誰か提案はありますか?

BJマイヤーズ

コンストラクターをターゲットとして指定するアセンブリレベルの属性を使用することで、このメッセージを抑制することができました。

using System.Diagnostics.CodeAnalysis;

[assembly: SuppressMessage("Microsoft.Maintainability",
                           "CA1502:AvoidExcessiveComplexity",
                           Scope = "member",
                           Target = "Tools.Builders.Builder.#.cctor()")]

この属性は、アセンブリ内の任意のコードファイルに配置できます。

後で参照できるように、[エラーリスト]ウィンドウ(またはVS2013以前の[コード分析]ウィンドウ)でCA警告を右クリックし、[抑制]-> [抑制ファイル内]を選択してこの属性を生成しました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

CA1502のカスタムしきい値

分類Dev

非推奨の警告を抑制できません

分類Dev

古いGCCの警告を抑制できません

分類Dev

境界チェックを抑制できません

分類Dev

fasttext警告を抑制できません: 'load_model'は戻りません[...]

分類Dev

VBA:Range.TextToColumnsの文字列の自動変換を抑制できませんか?

分類Dev

抑制ファイルの抑制エラーはエラーを出します:選択されたメッセージは抑制できませんでした

分類Dev

HttpClientを使用したAPI呼び出しのNLogでMicrosoftログを抑制できません

分類Dev

muttで「〜/メールが存在しません」を抑制します

分類Dev

Puppeteer 1.16.0はhttps://google.caに移動できませんか?

分類Dev

Rマークダウンでエラーメッセージを抑制できませんか?

分類Dev

/ dev / nullを使用してエラーメッセージを抑制できません

分類Dev

「IDはAndroidでは許可されていません」を抑制

分類Dev

「IDはAndroidでは許可されていません」を抑制

分類Dev

「IDはAndroidでは許可されていません」を抑制

分類Dev

「IDはAndroidでは許可されていません」を抑制

分類Dev

ファイルダウンロードのFirefoxポップアップを抑制できません

分類Dev

gitリポジトリにない場合はgitブランチエラーを抑制できません

分類Dev

Typescriptは私の変数名「⛄」が気に入らず、エラーを抑制できません

分類Dev

抑制状態エラーCS0266タイプ ''を 'System.Collections.IEnumerable'に暗黙的に変換できません

分類Dev

ターミナルから中国語のタイムスタンプを抑制できません

分類Dev

抑制状態エラーLNK1104はファイル「IlmImfd.lib」を開くことができません

分類Dev

属性に警告を抑制させることはできますか?

分類Dev

サーバーCA検証でTLSを使用してAWSデータベースに接続できません

分類Dev

AndroidのチェーンからルートCA証明書を取得できません

分類Dev

fabric-ca-clientが./utils.jsを見つけることができません

分類Dev

ubuntu-コア18認証局-mkdir:ディレクトリ/ etc / ssl / CAを作成できません

分類Dev

'č''ř''ě'を追加できません

分類Dev

/〜を削除できません

Related 関連記事

  1. 1

    CA1502のカスタムしきい値

  2. 2

    非推奨の警告を抑制できません

  3. 3

    古いGCCの警告を抑制できません

  4. 4

    境界チェックを抑制できません

  5. 5

    fasttext警告を抑制できません: 'load_model'は戻りません[...]

  6. 6

    VBA:Range.TextToColumnsの文字列の自動変換を抑制できませんか?

  7. 7

    抑制ファイルの抑制エラーはエラーを出します:選択されたメッセージは抑制できませんでした

  8. 8

    HttpClientを使用したAPI呼び出しのNLogでMicrosoftログを抑制できません

  9. 9

    muttで「〜/メールが存在しません」を抑制します

  10. 10

    Puppeteer 1.16.0はhttps://google.caに移動できませんか?

  11. 11

    Rマークダウンでエラーメッセージを抑制できませんか?

  12. 12

    / dev / nullを使用してエラーメッセージを抑制できません

  13. 13

    「IDはAndroidでは許可されていません」を抑制

  14. 14

    「IDはAndroidでは許可されていません」を抑制

  15. 15

    「IDはAndroidでは許可されていません」を抑制

  16. 16

    「IDはAndroidでは許可されていません」を抑制

  17. 17

    ファイルダウンロードのFirefoxポップアップを抑制できません

  18. 18

    gitリポジトリにない場合はgitブランチエラーを抑制できません

  19. 19

    Typescriptは私の変数名「⛄」が気に入らず、エラーを抑制できません

  20. 20

    抑制状態エラーCS0266タイプ ''を 'System.Collections.IEnumerable'に暗黙的に変換できません

  21. 21

    ターミナルから中国語のタイムスタンプを抑制できません

  22. 22

    抑制状態エラーLNK1104はファイル「IlmImfd.lib」を開くことができません

  23. 23

    属性に警告を抑制させることはできますか?

  24. 24

    サーバーCA検証でTLSを使用してAWSデータベースに接続できません

  25. 25

    AndroidのチェーンからルートCA証明書を取得できません

  26. 26

    fabric-ca-clientが./utils.jsを見つけることができません

  27. 27

    ubuntu-コア18認証局-mkdir:ディレクトリ/ etc / ssl / CAを作成できません

  28. 28

    'č''ř''ě'を追加できません

  29. 29

    /〜を削除できません

ホットタグ

アーカイブ