我正在查看我刚刚继承的一些 vb.net 代码,但无法理解为什么原始开发人员会这样做。
基本上,每个“域”类都是属性的集合。并且每一个都实现了 IDisposable.Dispose,并覆盖了 Finalize()。没有基类,所以每个都只是扩展对象。
Dispose 将每个私有 var 设置为 Nothing,或在属性是另一个域对象时调用 _private.Dispose。有一个私有 var 可以跟踪处置状态,而 Dispose 中的最后一件事是 GC.suppressFinalize(Me)
Finalize 只调用 Me.Dispose 和 MyBase.Finalize。
这有什么好处吗?有什么害处吗?没有非托管资源,没有数据库连接,似乎不需要这个。