Junior — Middle
Wat is het doel van de interface IDisposable in .NET en hoe wordt deze gebruikt?
sobes.tech AI
Antwoord van AI
De IDisposable-interface in .NET is bedoeld voor het handmatig vrijmaken van niet-beheerde bronnen (bijvoorbeeld bestandsdescriptors, databaseverbindingen) wanneer een object niet meer nodig is.
Gebruik:
- De klasse implementeert IDisposable en overschrijft de Dispose() methode, waarin de bronnen worden vrijgegeven.
- In de code waar het object wordt gebruikt, wordt Dispose() expliciet aangeroepen of wordt de
usingconstructie gebruikt, die garandeert dat Dispose() wordt aangeroepen, zelfs bij uitzonderingen.
Voorbeeld:
class ResourceHolder : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// Vrijmaken van bronnen
disposed = true;
GC.SuppressFinalize(this);
}
}
~ResourceHolder()
{
Dispose();
}
}
// Gebruik
using (var resource = new ResourceHolder())
{
// werken met de bron
}
// Hier wordt Dispose() automatisch aangeroepen