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.