Sometimes during development you may need to avoid the unnecessary compiler warnings to show in warning window. Though it’s not recommended to suppress the warning explicitly, but during some debugging and analysis of code you may want to hide them for time being. In this post I have explained how you can hide the unwanted warning explicitly by specifying the warning number.
To suppress the warning you need to use #pragma warning directives in your code. Below is the syntax for the same.
#pragma warning disable <warning-Numbers>
[Line of Code ]
Let’s consider you are having the below code block and you want to suppress the warning messages.
If you are going to build the above code, you will find the below warning messages.
Now, you can use #pragma warning directives to disable those compilation warning. You have to mention the warning number along with the directives. If you want to suppress multiple warning you have to use the coma separated warning number.
This addition of warning disable directives will remove all the specified compilation warning.
To suppress warnings you have to mention the warning number. So, you have to make sure you are providing the correct warning number. You can find out the warning number from the output window while building the application.
Similarly you can use #pragma warning restore <warning-lists> to restore the compilation warning message.
If there is no warning number provided with the #pragma warning directives, it will suppress all the warnings.
Summary : In this blog post I have explained how we can explicitly suppress the compilation warning message using #pragma directives. You can disable a single warning or multiple warnings with a single statement by giving warning numbers with coma (,) separated. I have also shows how to find out the correct warning number from output window.
What about suppressing warnings using GlobalSupression.cs at project level. That will help you track the suppressed warnings easily and secondly that can introduce consistency in your coding style throughout the project. You can even add it to solution items and then add as the link to all the projects in the solution.