Junior — Middle
Was ist der Zweck der IDisposable-Schnittstelle in .NET und wie wird sie verwendet?
sobes.tech KI
Antwort von AI
Die IDisposable-Schnittstelle in .NET ist dafür vorgesehen, unmanaged Ressourcen (z.B. Dateideskriptoren, Datenbankverbindungen) manuell freizugeben, wenn ein Objekt nicht mehr benötigt wird.
Verwendung:
- Die Klasse implementiert IDisposable und überschreibt die Methode Dispose(), in der die Ressourcen freigegeben werden.
- Im Code, der das Objekt verwendet, wird Dispose() explizit aufgerufen oder die Konstruktion
usingverwendet, die den Aufruf von Dispose() auch bei Ausnahmen garantiert.
Beispiel:
class ResourceHolder : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// Ressourcen freigeben
disposed = true;
GC.SuppressFinalize(this);
}
}
~ResourceHolder()
{
Dispose();
}
}
// Verwendung
using (var resource = new ResourceHolder())
{
// Arbeit mit der Ressource
}
// Dispose() wird hier automatisch aufgerufen