Visual studio CA1707常量名称警告
为什么微软一直用常数(比如WM_SOMECONSTANT)来记录代码,但VisualStudio中的代码分析报告了CA1707警告 我们应该为解决方案抑制所有这些警告吗?Visual studio CA1707常量名称警告,visual-studio,code-analysis,fxcop,roslyn-code-analysis,Visual Studio,Code Analysis,Fxcop,Roslyn Code Analysis,为什么微软一直用常数(比如WM_SOMECONSTANT)来记录代码,但VisualStudio中的代码分析报告了CA1707警告 我们应该为解决方案抑制所有这些警告吗? 我们应该重命名所有常量吗?看起来您在引用Windows中的本机函数。这里的建议是将对该函数的调用(以及它所需的任何枚举和常量)放在一个单独的NativeMethods类中,该类有自己的.cs文件。这样就很容易在整个文件的代码中抑制CA1707 建议不要在非本机代码中散布所有这些常量,您能否创建一个简单的包装器,作为丑陋的本机w
我们应该重命名所有常量吗?看起来您在引用Windows中的本机函数。这里的建议是将对该函数的调用(以及它所需的任何枚举和常量)放在一个单独的
NativeMethods
类中,该类有自己的.cs
文件。这样就很容易在整个文件的代码中抑制CA1707
建议不要在非本机代码中散布所有这些常量,您能否创建一个简单的包装器,作为丑陋的本机win32 API和您希望人们如何在您的C#应用程序中使用它之间的桥梁?这样,代码的其余部分就可以幸福地不知道它了
这里有一些技巧可能会有所帮助:
- 使用新的
样式规则集文件时,您可以:.editorconfig
- 可以使用编译器指令抑制整个文件的内联:
#pragma warning disable CA1707 // Identifiers should not contain underscores public class Class1 { public string WM_ERSHSERHSEHRSER; } #pragma warning restore CA1707 // Identifiers should not contain underscores
- 您可以将本机方法移动到单独的类库中,并在那里完全禁用该规则
#pragma warning disable CA1707 // Identifiers should not contain underscores
public class Class1
{
public string WM_ERSHSERHSEHRSER;
}
#pragma warning restore CA1707 // Identifiers should not contain underscores