Sobes.tech
Junior — Middle

Explique la finalité et l'utilisation de l'interface IDisposable dans .NET

sobes.tech IA

Réponse de l'IA

L'interface IDisposable dans .NET est conçue pour libérer les ressources non managées, telles que les fichiers, les connexions réseau, les descripteurs, etc. Elle contient une méthode — Dispose(), qui est appelée pour libérer explicitement les ressources.

L'utilisation de IDisposable permet de contrôler le moment de la libération des ressources, ce qui est important pour éviter les fuites de mémoire et les blocages.

Exemple d'utilisation :

class ResourceHolder : IDisposable
{
    private FileStream fileStream;

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

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

// Utilisation avec l'instruction using
using (var resource = new ResourceHolder("file.txt"))
{
    // Travailler avec la ressource
}
// Après la sortie du using, Dispose() est appelé automatiquement

Ainsi, IDisposable aide à gérer le cycle de vie des ressources et garantit leur libération correcte.