1. ホーム
  2. c#

[解決済み】C# - カスタムのObsolete警告を選択的に抑制する。

2022-04-07 11:19:55

質問

を使用しています。 Obsolete 属性は、特定のメソッドが使用された場合に警告を表示するために(ちょうどプログラマー仲間から提案されたように)。

CodeAnalysisのような警告を抑制する方法はないのでしょうか? SuppressMessage を使用することが正当化される点で?

に対して機能する必要があります。 [Obsolete("Some message")] は警告618を発生させ、プレーンな [Obsolete] 属性をメッセージなしで使用すると、警告 612 が発生します。

解決方法を教えてください。

使用方法 #pragma warning disable :

using System;

class Test
{
    [Obsolete("Message")]
    static void Foo(string x)
    {
    }

    static void Main(string[] args)
    {
#pragma warning disable 0618
        // This one is okay
        Foo("Good");
#pragma warning restore 0618

        // This call is bad
        Foo("Bad");
    }
}

その後、警告を復元して、"bad" の呼び出しを見逃さないようにします。