gpt4 book ai didi

c# - 我可以实现 DisposeBase 抽象类吗?

转载 作者:太空宇宙 更新时间:2023-11-03 20:47:17 24 4
gpt4 key购买 nike

使用 DisposableBase base class 是否存在陷阱或隐藏问题?而不是在每个类上重新编写 Dispose 模式?

为什么不是每个人都使用这样一个相关类?

编辑:

  1. 我当然只是指实现了 IDisposable 的类

  2. 我知道它用完了继承选项,但我愿意付出代价(至少在我可以的时候,否则不会伤害我)。

  3. 当我可以密封类时,我会这样做 - 但在某些情况下,我希望继承层次结构的基础是一次性的。

最佳答案

您不需要在每个 类上实现 Dispose() - 只需在那些需要确定性清理的类上实现。关于 Disposable 基类,我不完全确定它提供了很多 - IDisposable 不是一个复杂的接口(interface)。它可能有用的主要时间是如果您正在处理非托管资源并想要终结器,但即便如此,代码也不多。

就我个人而言,我不会为这样的基类烦恼。特别是,继承(在单继承世界中)很快就会受到限制。但更重要的是,覆盖方法与简单地提供公共(public) Dispose() 方法并没有太大区别。

再说一次:如果您正在处理非托管对象,您只需要一个终结器等。

如果我有很多这些(非托管资源),我可能会看看我是否可以获得 PostSharp为我完成工作。我不知道它是否已经存在,但它可能可以创建一个处理(特别是)终结器等的方面。谁知道...

关于c# - 我可以实现 DisposeBase 抽象类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/277814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com