Domov Rozvoj Co je k dispozici? - definice z techopedie

Co je k dispozici? - definice z techopedie

Obsah:

Anonim

Definice - Co znamená Dispose?

V kontextu 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šuje výkon a optimalizuje paměť uvolňová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ů.

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 paměť objektů vyvoláním Finalize - nedeterministická metoda. Metoda Dispose řídí životnost instancí paměti objektů a poskytuje explicitní řízení čištění paměti versus implicitní čištění paměti Finalize. 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 příkaz Použití zdrojového kódu, který po dokončení kódu objektu automaticky vyvolá metodu Dispose.
Tato definice byla napsána v kontextu C #
Co je k dispozici? - definice z techopedie