Reputation: 747
I have used c# to create a First Project. I have many warning errors and all these warning errors are to be single Error(Internal compiler error. See the console log for more information.)
For Reducing the warning errors I used #pragma Warning disable . #pragma warning restore front and back of the problematic code.
I have doubt that in my final build I should leave that #pragma warning disable & restore as it is in the program; or do I need to remove that? e.g:
#pragma warning disable
if (Displayer.instance != null && CTR.Tore== "Keepit")
{
Displayer.instance.SetFielderProfile (i);
}
#pragma warning restore
For final build do I need to remove that or not?
Upvotes: 40
Views: 53907
Reputation: 6587
Adapting @Deleted's answer for MSVC and C++. Testing in Visual Studio 2019. See Deleted's answer for C#. Intended for anyone who found their way here after a web search.
Disable warning(s) in C++ code:
#pragma warning(push)
#pragma warning(disable : 4267 4293)
// Your code that generates warnings C4267 and C4293 here
#pragma warning(pop)
Upvotes: 1
Reputation: 920
At the very least you should be specific about which warnings you've deliberately chosen to ignore. That way, if later maintenance introduces a 'new' warning/issue that you should be made aware of, the warning about the newly-introduced error won't be suppressed by your blanket pragma warning disable directive.
You can get the warning numbers pertaining to the build issues you've decided to ignore from the build Output window in Visual Studio. They're usually labelled "Warning CS0168...." or similar. In which case you can specifically target just the those error(s) you've decided to ignore like so:
#pragma warning disable 168, 3021
//Your code that generates warnings CS0168 and CS3021 here
#pragma warning restore 168, 3021
Upvotes: 73
Reputation: 100527
If it is code of any practical value you should not have any warning and compile with "warnings as error" setting with all warnings turned on.
Code you showing does not seem like it have any errors in itself. So I see no reasons why you need the pragma.
But it is really your call - your code and if no one need to use/look/pay for it - do whatever works for you.
Upvotes: 9