Is there a way to suppress warnings in C# similar to Java's @SuppressWarnings annotation?

我的未来我决定 提交于 2019-11-29 05:27:37

Yes.

For disabling, use:

#pragma warning disable 0169, 0414, anyothernumber

Where the numbers are the identifiers of the warnings that you can read from compiler output.

To reenable the warnings after a particular part of code (which is a good idea) use:

#pragma warning restore 0169, anythingelse

This way you can make the compiler output clean, and keep yourself safe because the warnings will only be suppressed for that particular part of code (where you made sure you don't need to see them).

Yes there is you can use the pragma warning annotation like this:

#pragma warning disable 414
//some code that generates a warning
#pragma warning restore 414

omitting the numbers disables and restores all warning codes...

There is. See the MSDN page on how to suppress compiler warnings.

From Visual Studio, go to your project properties, select the build tab, and enter the warning number in the Suppress Warnings field.

From code, to disable specific warnings, you can use the #pragma directive:

public class MyClass
{
  #pragma warning disable 0168
  // code

  // optionally, restore warnings again
  #pragma warning restore 0168
  // more code
}

I highly recommend using the following form

#pragma warning disable 649 // Field 'field' is never assigned to, and will always have its default value 'value'

#pragma warning restore 649

The comment on the first line is taken from the first like of the MSDN documentation for Compiler Warning (level 4) CS0649. Since warnings are numbered in C#, this is your only reference to what's actually going on in the code when you see a warning disabled. Placing it at the end of the line is the only way to get the reason to show up in the search results window when you do a search in your whole solution for pragma warning.

You can identify the warning numbers by looking in the Output window after building your project. Make sure it says Show output from: Build.

Have a look at the SuppressMessageAttribute in VisualStudio: http://msdn.microsoft.com/en-us/library/ms182068.aspx

I guess you could also try to review the project or solution properties and set your warning level to a lower level or so. Otherwise, the other responses are perhaps better.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!