gpt4 book ai didi

c# - 在扩展类的情况下如何处理非托管资源?

转载 作者:太空狗 更新时间:2023-10-30 01:36:24 24 4
gpt4 key购买 nike

有两个类ClassA和ClassB。 B 类扩展了 A 类。 ClassA 和 ClassB 中都有非托管资源。所以问题是:应该为这两个类提供 Dispose() 方法还是为 ClassA 提供 Dispose 就足够了

编辑1:根据到目前为止我得到的回应,我认为我的陈述被误解为 ClassB 继承自 ClassA。访问以下链接可以理解我的意思:

最佳答案

您必须从子对象中调用基础Dispose。在 B 类中实现 Dispose 将覆盖继承的方法。这是因为在 C# 中方法默认是虚拟的(如果在子类中重新实现,将调用重新实现)。

// Class B

public void Dispose()
{
base.Dispose();

// Dispose the rest (unmanaged B)
}

关于c# - 在扩展类的情况下如何处理非托管资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22273290/

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