尽管我可能会尽量将代码库中的[SuppressMessage]保持在最低限度,但新的代码仍在不断推出。我想以某种方式在代码中说“我已经审查了这个SuppressMessage,它是‘可接受的’”。
一种想法是创建我自己的继承自System.Diagnostics.CodeAnalysis.SuppressMessageAttribute的My.CodeAnalysis.SuppressMessageAttribute类,但该类是密封的。
我确信我可以通过属性附近的注释和后处理步骤拼凑出一些东西,但我想坚持使用Visual Studio2010的“盒子里”可用的东西。
发布于 2010-09-30 21:42:46
即使属性没有被密封,子类化方法也不会起作用,因为代码分析引擎会筛选出确切的SuppressMessageAttribute实例。在编写当前版本时,引擎将完全忽略子类实例。
就我个人而言,我使用以下方法来管理抑制:
所有“永久”取消必须有一个解释suppression.
如果这种方式对您不起作用,另一种方法是使用独立的FxCop来注释您隐藏的违规。不幸的是,这些注释可能位于您的代码库之外,但如果您希望防止开发人员“支持”他们自己的抑制,那么这可能更适合您。
发布于 2010-09-30 12:14:19
在错误列表中右键单击CA警告时,其中一个选项是在项目抑制文件中抑制Message(s) ->。当您选择该选项时,Visual Studio将向项目中的GlobalSuppressions.cs文件添加类似以下内容的行:
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Autofac")]这样可以将它们组合在一起,并且不会出现在代码文件中。这就是你想要的吗?
https://stackoverflow.com/questions/3827330
复制相似问题