Sobes.tech
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.