从我的理解的接口资源被释放,一旦引用计数的接口上获取到0我需要在.NET中释放私人界面字段吗?
考虑以下私有字段:
private IMyInterface _field = new DisposableObject()
我是否需要明确的仍然自由这个领域了在类例如让班级执行IDisposable
并将其释放到Dispose
?或者它会自动释放,因为我正在使用一个接口?
我在Delphi中有类似的情况,它导致了一个内存泄漏,让我有点困惑,因为我一直认为接口对象不需要被释放(因为它们是引用计数)。为了修复内存泄漏,我必须存储混凝土类型并将其释放。
我想我真的得到的是为什么我需要释放它,如果我使用的接口?
+1 - 这几乎是我正在寻找的解释。在Delphi中,如果我在正常情况下使用接口来引用资源,我不需要明确地释放它。 – James 2011-02-03 15:01:39