Sobes.tech
Junior — Middle

Czy możesz podać przykład sytuacji, w której używany jest wzorzec IDisposable do zarządzania zasobami?

sobes.tech AI

Odpowiedź od AI

Wzorzec IDisposable jest używany do zarządzania niezarządzanymi zasobami, takimi jak deskryptory plików, połączenia sieciowe, strumienie itp. Jego celem jest zapewnienie zwolnienia zasobów, gdy obiekt nie jest już potrzebny.

Przykład: praca z plikiem. Klasa FileStream implementuje IDisposable, aby zamknąć plik i zwolnić deskryptor po użyciu.

using (var stream = new FileStream("plik.txt", FileMode.Open))
{
    // Praca z plikiem
}
// Tutaj automatycznie wywoływane jest stream.Dispose(), plik jest zamknięty

Użycie konstrukcji using gwarantuje wywołanie Dispose, nawet jeśli wystąpi wyjątek.