Dlaczego potrzebujemy IDisposable?
Dlaczego potrzebujemy IDisposable?

Wideo: Dlaczego potrzebujemy IDisposable?

Wideo: Dlaczego potrzebujemy IDisposable?
Wideo: IDisposable in C# | When & Where to use IDisposable | .NET Core 2024, Listopad
Anonim

Jednorazowe niczego nie usunie ani nie zniszczy przedmiotów. Wywołanie Dispose() nic nie robi, jeśli ta funkcja nic nie robi. Sposób użycia Jednorazowe jest wzorem. Zarządzane odwołania do innych obiektów uniemożliwiają zbieranie obiektów przez moduł odśmiecania pamięci.

Podobnie możesz zapytać, dlaczego używany jest interfejs IDisposable?

Jednorazowe jest częste używany wykorzystać instrukcję using i skorzystać z łatwego sposobu na deterministyczne czyszczenie zarządzanych obiektów. Celem wzorca Dispose jest zapewnienie mechanizmu do czyszczenia zasobów zarządzanych i niezarządzanych, a kiedy to nastąpi, zależy od sposobu wywoływania metody Dispose.

Ponadto, co to jest IDisposable? Jednorazowe to interfejs, który zawiera pojedynczą metodę Dispose() do zwalniania niezarządzanych zasobów, takich jak pliki, strumienie, połączenia z bazą danych i tak dalej.

Biorąc to pod uwagę, kiedy powinienem używać IDisposable?

w klasie, ty powinien wdrożyć IDisposable i zastąp metodę Dispose, aby umożliwić kontrolowanie zwolnienia pamięci. Jeśli nie, ta odpowiedzialność spoczywa na zbieraczu elementów bezużytecznych, aby zwolnić pamięć, gdy obiekt zawierający niezarządzane zasoby zostanie sfinalizowany.

Dlaczego musimy pozbyć się w C#?

Zawsze zaleca się używanie Dysponować metoda czyszczenia niezarządzanych zasobów. Ale zasoby niezarządzane (na przykład obiekty utworzone przez interfejs API systemu Windows, pliki, obiekty połączenia z bazą danych, obiekty COM itp.) są poza zakresem. NET Framework my musimy wyraźnie oczyścić nasze zasoby. W przypadku tego typu obiektów.

Zalecana: