從我的理解的接口資源被釋放,一旦引用計數的接口上獲取到0我需要在.NET中釋放私人界面字段嗎?
考慮以下私有字段:
private IMyInterface _field = new DisposableObject()
我是否需要明確的仍然自由這個領域了在類例如讓班級執行IDisposable
並將其釋放到Dispose
?或者它會自動釋放,因爲我正在使用一個接口?
我在Delphi中有類似的情況,它導致了一個內存泄漏,讓我有點困惑,因爲我一直認爲接口對象不需要被釋放(因爲它們是引用計數)。爲了修復內存泄漏,我必須存儲混凝土類型並將其釋放。
我想我真的得到的是爲什麼我需要釋放它,如果我使用的接口?
+1 - 這幾乎是我正在尋找的解釋。在Delphi中,如果我在正常情況下使用接口來引用資源,我不需要明確地釋放它。 – James 2011-02-03 15:01:39