Sobes.tech
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 using constructie 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