什么是C#6.0 #pragma disable warnings功能?

Sti*_*gar 13 c#

C#6.0最终功能列表包含一个名为#pragma的功能,列为"已添加",示例是禁用警告.但是,在6.0之前的C#中确实存在此功能.在6.0中添加了什么?

Jon*_*eet 16

以前,您必须指定警告编号.所以要禁用CS0501,你可以使用

#pragma warning disable 0501
Run Code Online (Sandbox Code Playgroud)

现在,你可以使用

#pragma warning disable CS0501
Run Code Online (Sandbox Code Playgroud)

......当你让Roslyn Code Analyzers用不同的标识符提出警告时,这是非常重要的.它基本上将警告的命名空间从"数字"更改为"字母数字字符串".

我不知道新语法的细节 - 我还没有看到C#6规范 - 但旧的语法是:

warning-list:
  decimal-digits
 warning-list whitespace opt , whitespace opt decimal-digits

  • @Stilgar:据我所知,是的.那些是*编译器*甚至知道的唯一的东西,当然 - 其他任何东西来自不同的工具链,而在Roslyn中,它们都是通过*编译器完成的. (2认同)