SupressMessage 属性有啥用?
Posted
技术标签:
【中文标题】SupressMessage 属性有啥用?【英文标题】:What's the use of SupressMessage Attribute?SupressMessage 属性有什么用? 【发布时间】:2012-08-11 00:15:16 【问题描述】:我一直在研究 WPF 应用程序的几个源代码,并且到处都看到了 SupressMessage 属性。属性的描述现在对我来说非常模糊。 “抑制特定静态分析工具违反规则的报告,允许对单个代码工件进行多次抑制。”这个属性是干什么用的,有什么实际用途?
【问题讨论】:
似乎是为了抑制来自 FxCop 的消息 - 请参阅 ***.com/questions/35551/… 【参考方案1】:当您将code analysis 应用于您的项目时,您有时会收到想要忽略的警告,因为警告是误报,或者因为您的代码的特定部分可以违反代码分析规则。
您可以使用SuppressMessageAttribute 来做到这一点。现在代码分析已内置到 Visual Studio 的“更高”SKU 中,但以前您必须使用名为 FxCop 的工具来执行分析。
当您想忽略警告时,通常有三个选项:
您可以从用于分析代码的规则集中删除该规则。只有当你真的不关心规则时,你才应该这样做。
您可以使用 SuppressMessageAttribute
在通常名为 GlobalSuppressions.cs
的项目范围抑制文件中抑制警告。这将允许您在单个文件中维护所有抑制,但会使特定抑制与一段代码相关联变得有些困难。
您可以在源文件中使用SuppressMessageAttribute
隐藏警告。这在代码和抑制之间建立了清晰的联系,但也会在代码中添加额外的信息。请注意,某些警告只能在全局禁止文件中进行禁止,因为它们与特定的代码段无关。
当您单击代码分析警告上的 Action 下拉菜单时,最后两个选项可直接在 Visual Studio 中使用。当您使用SuppressMessageAttribute
忽略警告时,您可以为Justification
提供一个值。这样做可以让您和其他开发人员在以后了解为什么警告被禁止。
如果您因为代码中有一些特殊的单词或缩写而收到有关拼写的警告,您可能不应该取消警告,而是为您的项目创建一个custom code analysis dictionary。
对您的代码进行代码分析不仅可以提高代码的质量,而且您还可以在此过程中学到一些东西。
【讨论】:
以上是关于SupressMessage 属性有啥用?的主要内容,如果未能解决你的问题,请参考以下文章
UIImageView 的拉伸属性有啥用。我怎样才能使用这个属性。?
TForm 上的 Align 和 Anchor 属性有啥用?
Visual Studio 8 中程序集引用的 Aliases 属性有啥用