Selectively suppress custom Obsolete warnings
c#, visual-studio-2008
Solution
Use `#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");
}
}
Restore the warning afterwards so that you won't miss "bad" calls.
Problem
I'm using the `Obsolete` attribute (as just suggested by fellow programmers) to show a warning if a certain method is used. Is there a way to suppress the warning similar to CodeAnalysis' `SuppressMessage` at points where the use is justified? This needs to work for `[Obsolete("Some message")]` which generates warning 618 and the plain `[Obsolete]` attribute with no message which generates warning 612.