Sobes.tech
Junior — Middle

Puteți oferi un exemplu de situație în care se utilizează pattern-ul IDisposable pentru gestionarea resurselor?

sobes.tech AI

Răspuns de la AI

Modelul IDisposable este utilizat pentru gestionarea resurselor nesupravegheate, cum ar fi descriptorii de fișiere, conexiunile de rețea, fluxurile etc. Scopul său este de a asigura eliberarea resurselor atunci când obiectul nu mai este necesar.

Exemplu: lucrul cu un fișier. Clasa FileStream implementează IDisposable pentru a închide fișierul și a elibera descriptorul după utilizare.

using (var stream = new FileStream("fisier.txt", FileMode.Open))
{
    // Lucru cu fișierul
}
// Aici, stream.Dispose() este apelat automat, fișierul se închide

Utilizarea construcției using garantează apelarea lui Dispose, chiar dacă apare o excepție.