Junior — Middle
Tudna példát mondani olyan helyzetre, amikor az IDisposable mintát erőforrások kezelésére használják?
sobes.tech MI
Válasz az MI-től
Az IDisposable minta az irányítatlan erőforrások kezelésére szolgál, például fájldeskriptorok, hálózati kapcsolatok, áramlások stb. esetén. Célja, hogy garantálja az erőforrások felszabadítását, amikor az objektum már nem szükséges.
Példa: fájl kezelése. A FileStream osztály megvalósítja az IDisposable-t, hogy bezárja a fájlt és felszabadítsa a deskriptort használat után.
using (var stream = new FileStream("file.txt", FileMode.Open))
{
// Fájl kezelése
}
// Itt automatikusan meghívódik a stream.Dispose(), a fájl bezáródik
A using szerkezet használata garantálja a Dispose hívását, még akkor is, ha kivétel történik.