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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.