最佳实践:覆盖OnDispose(BOOL处置)VS基于组件弃置事件
-
19-08-2019 - |
题
在.NET中Component
类公开Disposed
事件。它还提供了一个受保护成员OnDispose(bool disposing)
。
什么是扩展Component
自定义组件的最佳做法?覆盖OnDispose(bool)
或附加一个事件处理Disposed
建设?
我的感觉是一个应该重写OnDispose(bool)
并密封类。
思想?
解决方案
通常事件消费者使用,使他们能够在事件发生时得到通知。如果您正在扩展类型和需要清理的资源,你应该重写的Dispose(BOOL处置)
斯宾塞有一部分是对有关事件处理程序,多个事件可以被分配,但问题是,你不能保证在该事件的处理顺序。
密封类往往取决于你设计的东西。
在FxCop的规则也有一些好消息: HTTP: //msdn.microsoft.com/en-us/library/ms244737(VS.80).aspx
其他提示
我会建议重写的行为,因为你的组件的实施者访问事件处理程序,因此可以注销意外的处理器执行。我相信,你可能还需要这个取决于你的自定义组件正在做的事,因为你可能需要,如果你有状态的对象或外部接口等打电话到基处置前,运行处置任务。
当我听说过这件事情它是一个.NET标准,传承覆盖基类OnXxxxx方法和用户处理为Xxxxx事件。
不隶属于 StackOverflow