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.