Sobes.tech
Junior — Middle

Leg uit wat het doel en het gebruik van de interface IDisposable in .NET is

sobes.tech AI

Antwoord van AI

De IDisposable-interface in .NET is bedoeld om niet-beheerde bronnen zoals bestanden, netwerkverbindingen, descriptors, enz. vrij te geven. Het bevat een methode — Dispose(), die wordt aangeroepen om de bronnen expliciet vrij te geven.

Het gebruik van IDisposable stelt je in staat om het moment van vrijgave van bronnen te controleren, wat belangrijk is om geheugenlekken en blokkades te voorkomen.

Voorbeeld van gebruik:

class ResourceHolder : IDisposable
{
    private FileStream fileStream;

    public ResourceHolder(string filePath)
    {
        fileStream = new FileStream(filePath, FileMode.Open);
    }

    public void Dispose()
    {
        fileStream?.Dispose();
    }
}

// Gebruik met de using-instructie
using (var resource = new ResourceHolder("file.txt"))
{
    // Werken met de bron
}
// Na het verlaten van de using wordt Dispose() automatisch aangeroepen

Op deze manier helpt IDisposable om de levenscyclus van bronnen te beheren en zorgt het voor hun correcte vrijgave.