首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UserControls中的FxCop CA2000警告

UserControls中的FxCop CA2000警告
EN

Stack Overflow用户
提问于 2010-06-11 07:27:05
回答 1查看 673关注 0票数 1

在包含UserControl的WebProject上运行FxCop将导致每个标签( ServerControl,TextBox,...)出现CA2000警告(Call System.IDisposable.Dispose on object)在那个UserControl中。

我理解为什么会发生这种情况。

用PlaceHolder替换“有问题的”ServerControls,然后在代码中添加控件(使用Using...End)可能是绕过这一问题的一种方法,但它并不总是可行的。

但是,如果他们不是‘洁食’,为什么有ServerControls,你可以在你的ascx/aspx放在第一位?

我是不是漏掉了什么?

如果像我的例子一样,你继承了一个相当复杂的UserControls集合,我现在是不是要把每个“违规”控件都添加到GlobalSupperssions文件中(这是很多让人麻木的右击)?

我不想隐藏所有的CA2000警告,因为修复它们很有意义,但对于UserControls中的ServerControls则不然。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-11 07:42:56

Hmya,每个人都非常喜欢一个工具,它可以告诉他们忘记调用Dispose()。问题是:这样的工具真的很难实现。您正在讨论的特定警告现在已被禁用并重新启用了几次。

显然,你得到的警告是无稽之谈,UserControl已经知道如何正确地处理它的成员控件。这不是自动化工具可以轻易检测到的。dispose调用与构造函数调用相去甚远,埋藏在.NET框架代码中,混合抛出了几个虚拟方法和事件处理程序。

要真正评估这些警告,您必须切换到另一个工具:两耳之间的工具。

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

https://stackoverflow.com/questions/3019260

复制
相关文章

相似问题

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