基于不适用于 System.Web.UI.Control 对象的 CA2000“在失去范围之前处理对象”创建自定义 FXCop 规则

Posted

技术标签:

【中文标题】基于不适用于 System.Web.UI.Control 对象的 CA2000“在失去范围之前处理对象”创建自定义 FXCop 规则【英文标题】:Creating a Custom FXCop Rule based on CA2000 "Dispose Objects Before Losing Scope" that doesn't apply to System.Web.UI.Control objects 【发布时间】:2011-06-04 00:39:05 【问题描述】:

我有兴趣在我的 ASP.Net Web 项目中创建基于 CA2000“Dispose Objects BeforeLosing Scope”的自定义规则,该规则不适用于 System.Web.UI.Control 的后代对象。这样做的原因是因为在 web 控件上调用 dispose 并没有真正的意义(参见 here 和 here 示例)。

我是否可以根据现有的 FxCop 规则创建自定义规则?或者有没有办法获取该规则的代码,然后我可以调整以检查对象的类型?

【问题讨论】:

【参考方案1】:

这里有一些起点。

http://www.guysmithferrier.com/downloads/fxcop.pdf

http://www.codeproject.com/KB/dotnet/Tool_info_report_FXCOP.aspx

【讨论】:

虽然这很有用,但我已经研究并开始编写我自己的 FxCop 自定义规则。这里的问题是我不想完全重新发明***,因为存在一个非常接近我想要的内置规则(CA2000)。我敢肯定,如果我尝试从头开始重新创建它,我会做得很差并且可能不正确。相反,我想从现有规则开始并为我的项目修改它。

以上是关于基于不适用于 System.Web.UI.Control 对象的 CA2000“在失去范围之前处理对象”创建自定义 FXCop 规则的主要内容,如果未能解决你的问题,请参考以下文章

扩展运算符不适用于基于 Redux/ES6 的示例

基于日期范围查找文档在 mongodb shell 中有效,但不适用于 pymongo

如何在 where 子句上基于 SqlCommand 或 SqlDataAdapter 填充 datagridview? SqlDataAdapter 不适用于哪里?

基于 EM 的媒体查询不适用于 Android 浏览器 v4.3

基于类的 Vue 组件不适用于 v-model 和 vuex

基于不适用于 System.Web.UI.Control 对象的 CA2000“在失去范围之前处理对象”创建自定义 FXCop 规则