【发布时间】:2011-03-18 07:23:09
【问题描述】:
我正在编写一组混合私有/公共的方法,需要放入同一个区域(使用#region)。我使用了here 中提到的方法,但我无法抑制此警告。请帮忙。
[编辑] 我只需要抑制这个特定的警告——而不是整个项目/解决方案。但我愿意知道如何做到这一点^_^
【问题讨论】:
标签: c# visual-studio-2010 stylecop
我正在编写一组混合私有/公共的方法,需要放入同一个区域(使用#region)。我使用了here 中提到的方法,但我无法抑制此警告。请帮忙。
[编辑] 我只需要抑制这个特定的警告——而不是整个项目/解决方案。但我愿意知道如何做到这一点^_^
【问题讨论】:
标签: c# visual-studio-2010 stylecop
您愿意为整个项目禁用该规则吗?如果是这样,看看这是否适合你:Enabling or Disabling StyleCop Rules
【讨论】:
抑制 stylecop 警告的另一种方法是更好地使用它们。有一条规则会坚持不使用区域(默认情况下禁用)。如果不这样做,您的问题就会消失。
不要使用区域,而是使用部分类。将您的区域提取到新的部分类中。
通过这种方式,您可以获得 stylecop 合规性和代码功能分离。两全其美。
【讨论】:
在您的情况下,正确的 SuppressMessage 属性应如下所示:
[SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1202:ElementsMustBeOrderedByAccess")]
private void SomeMethod()
{
}
请注意,您可以将它放在任何其他元素上(例如,放在类上 - 然后整个类中所有类似的违规行为都将被禁止)。
我也同意在这些字段中写什么是相当不明显的。
实际上,第一个应该是StyleCop 分析器类 的完全限定名,可以从源代码中找到(例如来自here)。 第二个应该以 rule code 开头,然后是冒号和 rule enumeration 的名称(幸运的是,它总是看起来像设置编辑器中显示的规则名称,但带有没有空格)。
【讨论】: