【发布时间】:2011-03-02 10:43:54
【问题描述】:
在包含 UserControl 的 WebProject 上运行 FxCop 将导致该 UserControl 中的每个 ServerControl(标签、文本框、...)的 CA2000 警告(在对象上调用 System.IDisposable.Dispose)。
我明白为什么会发生这种情况。
用 PlaceHolder 替换“有问题的”ServerControls,然后在代码中添加控件(使用...结束使用)可能是一种解决方法,但这并不总是一种选择。
但是,如果它们是不是 'kosher' 为什么有 ServerControls 你可以放在你的 ascx/aspx 中?
我错过了什么吗?
如果像我的情况一样,您继承了大量相当复杂的用户控件集合,我现在是否将每个“有问题的”控件添加到 GlobalSupperssions 文件中(右键单击会让人麻木)?
我愿意不想抑制所有 CA2000 警告,因为修复它们非常有意义,但对于 UserControls 中的 ServerControls 则不然。
【问题讨论】:
-
我可能遗漏了一些东西,但你不会重写 dispose(好吧,我猜是 dispose(bool))并让它处理包含在你的用户控件中的服务器控件吗?如果您没有将处理“级联”到树下,警告似乎是有道理的
标签: .net fxcop servercontrols