首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能将CA [SuppressMessage]标记为“有福的”?

我怎样才能将CA [SuppressMessage]标记为“有福的”?
EN

Stack Overflow用户
提问于 2010-09-30 10:43:07
回答 2查看 753关注 0票数 1

尽管我可能会尽量将代码库中的[SuppressMessage]保持在最低限度,但新的代码仍在不断推出。我想以某种方式在代码中说“我已经审查了这个SuppressMessage,它是‘可接受的’”。

一种想法是创建我自己的继承自System.Diagnostics.CodeAnalysis.SuppressMessageAttributeMy.CodeAnalysis.SuppressMessageAttribute类,但该类是密封的。

我确信我可以通过属性附近的注释和后处理步骤拼凑出一些东西,但我想坚持使用Visual Studio2010的“盒子里”可用的东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-30 21:42:46

即使属性没有被密封,子类化方法也不会起作用,因为代码分析引擎会筛选出确切的SuppressMessageAttribute实例。在编写当前版本时,引擎将完全忽略子类实例。

就我个人而言,我使用以下方法来管理抑制:

所有“永久”取消必须有一个解释suppression.

  • Where的原因的
  1. 属性,永久取消必须放在目标代码文件中。否则,必须将它们放在临时禁止的顶部必须将所有的临时禁止都放置在GlobalSuppressions文件中的“临时禁止”头注释之下,并且不应该为它们分配justification.
  2. All永久禁止,因为永久禁止必须以与代码本身完全相同的方式接受代码审查。我使用差异检测来标记代码以供审查,因此我可以看到哪些禁止项被添加或更改,就像我可以看到哪些代码已经被modified.
  3. Temporary禁止项必须通过项目的预定义阶段移除一样容易。经过此点后,将启用检测丢失的对齐属性的规则。

如果这种方式对您不起作用,另一种方法是使用独立的FxCop来注释您隐藏的违规。不幸的是,这些注释可能位于您的代码库之外,但如果您希望防止开发人员“支持”他们自己的抑制,那么这可能更适合您。

票数 1
EN

Stack Overflow用户

发布于 2010-09-30 12:14:19

在错误列表中右键单击CA警告时,其中一个选项是在项目抑制文件中抑制Message(s) ->。当您选择该选项时,Visual Studio将向项目中的GlobalSuppressions.cs文件添加类似以下内容的行:

代码语言:javascript
复制
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Autofac")]

这样可以将它们组合在一起,并且不会出现在代码文件中。这就是你想要的吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3827330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档