2010-07-20 25 views
2

可能重复:
How to suppress a StyleCop warning?如何禁止StyleCop警告“SA1201:所有方法都必须放在所有属性之后。”?

我正在写一组它们是私有/公共混合,需要投入的同一区域(使用#区域)的方法。我使用here中提到的方法,但我无法得到这个警告抑制。请帮忙。

[编辑] 我只需要禁止这个特定的警告 - 不是针对整个项目/解决方案。但我愿意知道如何做到这一点^ _^

回答

1

抑制stylecop警告的替代方法是更好地使用它们。有一个规则会坚持你不使用区域(默认情况下禁用)。如果不这样做,你的问题就会消失。

而不是使用区域,使用部分类。将您的区域提取为新的部分类。

通过这种方式,您可以获得stylecop符合性和代码功能分离。两全其美的。

1

在你的情况,正确SuppressMessage属性应该像这样的:

[SuppressMessage("StyleCop.CSharp.OrderingRules", "SA1202:ElementsMustBeOrderedByAccess")] 
private void SomeMethod() 
{ 
} 

需要注意的是,你可以把它放在任何其他元素(例如上,在类 - 然后在全班所有类似的违规行为将被压制)。

我也同意在这些领域写什么是很不明显的。

实际上,第一个应该是StyleCop分析器类的完全合格名称,可以从源代码中找到(例如从here)。 第二个应该从规则代码开始,然后冒号和规则枚举的名称(幸运的是,它总是看起来像设置编辑器中显示的规则名称,但没有空格)。

相关问题