代码之家  ›  专栏  ›  技术社区  ›  orj

最佳实践:重写组件上的OnDispose(bool disposing)和Disposed事件

  •  5
  • orj  · 技术社区  · 16 年前

    在.NET中 Component 类公开了 Disposed 事件。它还提供受保护的成员 OnDispose(bool disposing) .

    扩展自定义组件的最佳实践是什么 成分 ?重写 OnDispose(bool) 或将事件处理程序附加到 处理 关于建筑?

    我的感觉是一个人应该超越 OnDispose(布尔) 并封课。

    思想?

    3 回复  |  直到 15 年前
        1
  •  6
  •   Matt Davis    15 年前

    通常,事件由消费者使用,以便在事件发生时通知他们。如果要扩展类型并需要清理资源,则应重写Dispose(bool disposing)。

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

    封课通常取决于你在设计什么。

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

        2
  •  2
  •   Spence    16 年前

    我建议重写该行为,因为组件的实现者可以访问事件处理程序,因此可能会意外取消配置程序实现的注册。我相信您可能还需要根据您的自定义组件所做的操作来执行此操作,因为如果您有状态对象或外部接口等,则可能需要在调用基本处理器之前运行处理任务。

        3
  •  1
  •   Ignacio Soler Garcia    15 年前

    正如我听说过的,继承者重写XXXXX方法上的基类,用户处理XXXXX事件是一个.NET标准。