3.17 Nicht-verwaltete Ressourcen entsorgen

Problem

Ihre Klasse referenziert nicht-verwaltete Ressourcen wie irgendeine Art von Handle oder manipuliert einen Speicherblock oder eine Datei über P/Invoke-Methoden oder nutzt ein COM-Objekt, auf dem ein paar Reinigungsmethoden aufgerufen werden müssen, bevor es freigegeben werden kann. Sie müssen sicherstellen, dass die Ressourcen ordentlich und zeitnah freigegeben werden. In einer Umgebung mit Garbage Collector wie der Common Language Runtime (CLR) können Sie sich nicht darauf verlassen, dass das passiert.

Lösung

Implementieren Sie das Dispose-Entwurfsmuster, das .NET-spezifisch ist.

Als Beispiel für eine Klasse, die Referenzen auf nicht-verwaltete Ressourcen enthält, dient hier die Klasse Foo. Ein Objekt ...

Get C# Kochbuch now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.