Dysponować

Autor: Lewis Jackson
Data Utworzenia: 8 Móc 2021
Data Aktualizacji: 1 Lipiec 2024
Anonim
Dysponować
Wideo: Dysponować

Zawartość

Definicja - Co oznacza Dispose?

W przeciwieństwie do C #, dispose to metoda obiektowa wywoływana w celu wykonania kodu wymaganego do czyszczenia pamięci oraz zwolnienia i zresetowania niezarządzanych zasobów, takich jak uchwyty plików i połączenia z bazą danych. Dispose poprawia wydajność i optymalizuje pamięć, uwalniając obiekty niemożliwe do zarządzania i ograniczone zasoby, takie jak uchwyty GDI (Graphics Device Interface) używane w aplikacjach z ograniczoną przestrzenią Windows.

Metoda Dispose, udostępniana przez interfejs IDisposable, implementuje wywołania Dispose. Wzorzec Dispose został zaprojektowany w celu szybkiego i przewidywalnego czyszczenia, zapobiegania tymczasowym wyciekom pamięci i usuwaniu zasobów.


Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.

Techopedia wyjaśnia Dispose

.NET Framework ułatwia odśmiecanie pamięci (GC), zarządza pamięcią obiektów i zasobami oraz odzyskuje nieprawidłowe odwołania do pamięci obiektów, wywołując Finalize - metodę niedeterministyczną. Metoda Dispose kontroluje żywotność instancji pamięci obiektów i zapewnia jawne sterowanie czyszczeniem pamięci, w porównaniu do finalizacji niejawnego czyszczenia pamięci. Dispose można wywoływać, nawet jeśli istnieją inne instancje obiektów pamięci, natomiast Finalize można wywoływać dopiero po zniszczeniu ostatniego obiektu pamięci.

Reguły metody usuwania są następujące:

  • Używany do niezarządzanych zasobów wymagających natychmiastowego zwolnienia po użyciu.
  • Jeśli nie zostanie wywołane Dispose, należy zaimplementować metodę Finalize.
  • Po wywołaniu metody Dispose należy wywołać metodę GC.SuppressFinalize, aby zapobiec metodzie Finalize i uniknąć niepotrzebnego GC.
  • Wyjątki należy traktować ostrożnie, jeśli metoda Dispose zostanie wywołana więcej niż raz. Jeśli zasoby są usuwane, każda metoda instancji może zgłosić wyjątek ObjectDisposedException.
  • Obiekt z wcześniej zwaną metodą Dispose nie może być ponownie użyty.
  • Polecenie Dispose jest zalecane tylko do zarządzania rodzimymi obiektami zasobów i obiektami COM (Component Object Model) wystawionymi na platformę .NET Framework.
  • Z powodu nieprzewidywalnych rezultatów Dispose nie można wywoływać jednocześnie z wielu wątków.
  • Typy wartości nie powinny być tworzone jako typy jednorazowe lub z niezarządzanymi elementami zasobów.
  • Podczas korzystania z niezarządzanych zasobów za najlepszą praktykę uważa się stosowanie kodu źródłowego Instrukcja Using, która automatycznie wywołuje metodę Object Dispose po zakończeniu kodu obiektowego.
Ta definicja została napisana w con C #