【发布时间】:2010-10-11 10:16:27
【问题描述】:
析构函数应该只释放你的对象持有的非托管资源,它不应该引用其他对象。如果您只有托管引用,则不需要(也不应该)实现析构函数。您只希望它用于处理非托管资源。 因为使用析构函数需要一些成本,所以您应该只在消耗宝贵的非托管资源的方法上实现它。
本文没有对此进行更深入的讨论,但是在 C# 中使用析构函数会涉及哪些类型的成本?
注意:我知道 GC 和析构函数不会在可靠时间被调用的事实,除此之外,还有什么其他的吗?
【问题讨论】:
标签: c# idisposable destructor finalizer