Although one would hope that you wouldn’t have to do so very often, sometimes it is useful to explicitly disable code analysis warnings within your application. For example, you could suppress warnings around references to obsolete methods that must be called. Two ways of making this happen are to use either the preprocessor directive “#pragma warning” or to use the SuppressMessageAttribute.
Here’s how you could use the #pragma warning preprocessor directive to suppress an obsolete code warning:
// Disable warning for obsolete call #pragma warning disable 612, 618 MyObsoleteCall(); #pragma warning restore 612, 618 // Warnings are re-enabled
And here is how you could use the SuppressMessage attribute to achieve a similar result:
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "isChecked")]
There is of course the argument that by suppressing those messages you won’t remember that they are there and won’t then refactor them out of your application, but…
Hope this helps!