最佳实践:在Component上覆盖OnDispose(bool disposing)vs Disposed事件

orj*_*orj 5 .net components idisposable

在.Net中,Component该类公开了一个Disposed事件.它还提供受保护的成员OnDispose(bool disposing).

扩展自定义组件的最佳做法是什么Component?覆盖OnDispose(bool)或附加事件处理程序以Disposed构建?

我的感觉是,人们应该超越OnDispose(bool)并密封班级.

思考?

bry*_*ook 6

通常情况下,消费者使用事件,以便在事件发生时通知他们.如果您要扩展Type并需要清理资源,则应覆盖Dispose(bool disposing)

Spence对事件处理程序部分正确,可以分配多个事件,但问题是您无法保证处理事件的顺序.

密封课程通常取决于你的设计.

FxCop规则也有一些很好的信息:http: //msdn.microsoft.com/en-us/library/ms244737(VS.80).aspx