【发布时间】:2011-05-07 04:09:21
【问题描述】:
如何对自定义规则使用抑制?
【问题讨论】:
-
这不是与您创建自定义 StyleCop 规则的原因相反吗??
-
@Mitch:有时有些边缘情况很难在规则中适当处理。如果它们不够频繁,那么花时间使规则“更智能”可能不值得。在旨在供内部使用而非广泛公共部署的自定义规则中尤其如此。
标签: stylecop
如何对自定义规则使用抑制?
【问题讨论】:
标签: stylecop
我利用 stylecop 忽略标题中带有“生成代码”的区域这一事实并执行以下操作:
#region Stylecop will ignore regions with "generated code" in title, like this.
//...code you don't want style cope to test code goes here
#endregion
【讨论】:
您可以使用 SuppressMessageAttribute 以与作为 StyleCop 的一部分发布的规则完全相同的方式抑制自定义规则违规。例如:
[SuppressMessage("Your.Analyzer.Namespace", "AA1000:RuleName")]
(其中命名空间、规则 ID 和规则名称必须全部替换为规则的实际值)
【讨论】:
StyleCop.SourceAnalyzer 的名称),而不仅仅是命名空间,并且该完全限定名称与 VisualStudio 在警告列表中显示的名称不同(它显示为 MyCustomRules.Custom,但分析器类的完全限定名称为 MyCustomRules.CustomRules)。