Frage

Wenn ich ein Objekt mit IDisposable implementieren, sollten alle Objekte, die besitzen das Objekt implementieren es so gut, auch wenn sie keine andere Ressourcen zu veröffentlichen?

War es hilfreich?

Lösung

Ja. Sie müssen von ihnen, um entsorgen Ihre Mitgliedsvariablen haben richtig erhalten angeordnet ist.

Jedes Mal, wenn Sie eine IDisposable Klasse kapseln, sollten Sie Ihre Klasse IDisposable machen. In Ihrem Dispose-Methode, sollten Sie Ihre gekapselte Ressourcen verfügen. Grundsätzlich behandeln sie auf die gleiche Weise eine native Ressource behandeln würde.

Andere Tipps

Wenn Sie determinis Verfügung wollen, schließlich braucht einige Client Entsorgen Sie anrufen oder die Anrufe in einer „mit“ Block wickeln. Herabrieseln zu Ihrem Objekt, das könnte verlangen, dass der Eigentümer IDisposable auch umzusetzen.

Sie sollten nicht auf dem Garbage Collector verlassen alle zeitabhängigen Ressourcen freizugeben.

Ja, eine zu besitzen Klasse sollte IDisposable implementieren, aber es braucht nicht (sollte nicht haben) eine Finalizer (destructor).

np, sie müssen nur diese Klasse verwenden, um mit einem „using“ Anweisung sicherzustellen, dass sie das Objekt richtig entsorgen, aber die Objekte selbst nicht IDisposable implementieren müssen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top