2010-11-09 23 views
3

如何對自定義規則使用抑制?StyleCop SuppressionMessage

+2

不是你爲什麼會創建一個自定義了StyleCop這有點兒相反(其中命名空間,規則ID和規則名稱必須全部由該規則的實際值替換)規則?? – 2010-11-09 10:42:18

+1

@Mitch:有時候邊界情況很難在規則中適當處理。如果它們不夠經常,花費時間使規則變得「更聰明」可能是不值得的。這在用於內部消費的自定義規則中尤其如此,而不是廣泛的公共部署。 – 2010-11-10 17:38:42

回答

2

我使用了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 
4

可以抑制完全一樣爲規則做了同樣的方式,使用SuppressMessageAttribute自定義規則違規作爲StyleCop的一部分出貨。例如:

[SuppressMessage("Your.Analyzer.Namespace", "AA1000:RuleName")] 

+0

請注意,在我的情況下,我必須將分析器類**的**完全限定名稱(來自'StyleCop.SourceAnalyzer'的派生類),而不僅僅是命名空間,並且完全限定名稱與VisualStudio顯示在警告列表中(它顯示'MyCustomRules.Custom',但分析器類的完全限定名稱是'MyCustomRules.CustomRules')。 – 2014-05-21 10:03:47