需要验证参数的 FxCop 自定义规则

Posted

技术标签:

【中文标题】需要验证参数的 FxCop 自定义规则【英文标题】:FxCop custom rule requiring validation of parameters 【发布时间】:2011-11-16 13:49:10 【问题描述】:

我正在尝试创建一个自定义 FxCop 规则,该规则将测试对 Request.QueryString 的索引器 getter 的调用,而无需先前调用(以相同方法)从我们项目的实用程序模块中对某个验证方法进行调用。

我找到的文档不够深入,无法将我带到我需要去的地方。有没有我想念的文档?或者是时候试错了?

我所看到的:

http://www.binarycoder.net/fxcop/

http://blog.tatham.oddie.com.au/2010/01/06/custom-code-analysis-rules-in-vs2010-and-how-to-make-them-run-in-fxcop-and-vs2008-too/

http://blogs.msdn.com/b/codeanalysis/

http://msdn.microsoft.com/en-us/magazine/cc163930.aspx

以及所有标记为 FxCop 的 SO 帖子都带有 custom 一词。

有什么想法吗?

【问题讨论】:

【参考方案1】:

没有用于 FxCop 规则的官方 SDK。最完整的单一资源是http://www.binarycoder.net/fxcop/。几乎所有可用资源都旨在帮助人们开始使用创建规则的“包装器”机制。它们都没有真正涵盖如何创建特定规则逻辑的挑剔细节。对于这类事情,最好的办法是使用像 Reflector 这样的反编译器,这样您就可以看到 Microsoft 提供的规则是如何构建的。另一个有用的技术是在调试器下运行您的初步规则,以便您可以看到在运行时可用的对象和属性。如果您对规则实施的某个特定部分感到困惑,您可以随时在此处或FxCop forum maintained by Microsoft 上询问。

【讨论】:

以上是关于需要验证参数的 FxCop 自定义规则的主要内容,如果未能解决你的问题,请参考以下文章

FxCop 自定义规则检查命名空间

如何在 FxCop 的自定义规则中获取传递给方法的参数值?

自定义控件的 FxCop 自定义规则

使用 SonarQube 自定义 Fxcop 规则

将自定义 Fxcop 规则与现有 Fxcop 规则集成

Fxcop 自定义规则未显示在 Fxcop GUI 中