Zlikvidujte

Autor: Lewis Jackson
Datum Vytvoření: 8 Smět 2021
Datum Aktualizace: 25 Červen 2024
Anonim
DAYS GONE Chemult Horde No Problem
Video: DAYS GONE Chemult Horde No Problem

Obsah

Definice - Co znamená Dispose?

V con of C # je dispose metoda objektu vyvolána ke spuštění kódu vyžadovaného pro vyčištění a uvolnění paměti a resetování nespravovaných prostředků, jako jsou popisovače souborů a připojení k databázi. Dispose zlepší výkon a optimalizuje paměť uvolněním nezvládnutelných objektů a omezených zdrojů, jako jsou úchyty Graphics Device Interface (GDI) používané v aplikacích s omezeným prostorem Windows.

Metoda Dispose poskytovaná rozhraním IDisposable implementuje Dispose calls. Vzor Dispose je navržen pro včasné a předvídatelné vyčištění, prevenci dočasných úniků paměti a likvidaci zdrojů.


Úvod do Microsoft Azure a Microsoft Cloud | V této příručce se dozvíte, o čem cloud computing je a jak vám může Microsoft Azure pomoci migrovat a řídit podnikání z cloudu.

Techopedia vysvětluje Dispose

Framework .NET usnadňuje sběr odpadků (GC), spravuje paměť objektů a prostředky a získává neplatné odkazy na objektové paměti vyvoláním Finalize - nedeterministická metoda. Metoda Dispose řídí životnost instancí paměti objektů a poskytuje explicitní řízení čištění paměti versus finalizuje implicitní čištění paměti. Dispose může být vyvoláno, i když existují jiné instance objektu paměti, zatímco Finalizace může být vyvolána až po zničení posledního objektu paměti.

Pravidla metody likvidace jsou následující:

  • Používá se pro nespravované prostředky vyžadující okamžité uvolnění po použití.
  • Pokud není zavolána funkce Dispose, měla by být implementována metoda Finalize.
  • Po vyvolání metody Dispose musí být volána metoda GC.SuppressFinalize, aby se odvrátila metoda Finalize a zabránilo se zbytečné GC.
  • Výjimky by měly být pečlivě zpracovány, pokud je metoda Dispose vyvolána vícekrát. Pokud jsou prostředky zlikvidovány, může jakákoli metoda instance vyvolat ObjectDisposedException.
  • Objekt s dříve nazvanou metodou Dispose nelze znovu použít.
  • Dispose se doporučuje pouze pro správu objektů nativních prostředků a objektů COM (Component Object Model) vystavených rozhraní .NET Framework.
  • Likvidace nemusí být vyvolána souběžně z více vláken, a to z důvodu nepředvídatelných výsledků.
  • Typy hodnot by neměly být vytvářeny jako jednorázové typy nebo s nespravovanými členy prostředků.
  • Při použití nespravovaných prostředků se považuje za nejlepší postup použít zdrojové kódy Použití příkazu, který automaticky vyvolá metodu Dispose po dokončení kódu objektu.
Tato definice byla napsána v konu C #