Acasă Dezvoltare Ce se dispune? - definiție din techopedia

Ce se dispune? - definiție din techopedia

Cuprins:

Anonim

Definiție - Ce înseamnă Dispose?

În contextul C #, dispose este o metodă obiect invocată pentru a executa codul necesar curățării memoriei și eliberarea și resetarea resurselor neadministrate, cum ar fi manerele de fișiere și conexiunile la baza de date. Eliminați îmbunătățește performanța și optimizează memoria, prin eliberarea de obiecte care nu pot fi gestionate și resurse limitate, cum ar fi mânerele grafice ale dispozitivului (GDI) utilizate în aplicațiile cu spațiu Windows restrâns.


Metoda Dispose, furnizată de interfața IDispozabilă, implementează Eliminarea apelurilor. Modelul Dispose este conceput pentru curățarea în timp util și previzibil, prevenirea scurgerilor temporare de memorie și eliminarea resurselor.

Techopedia explică Elimină

Cadrul .NET facilitează colectarea gunoiului (GC), gestionează memoria și resursele obiectului și recuperează referințele de memorie de obiect nevalide invocând Finalize - o metodă nedeterministă. Metoda Dispose controlează durata de viață a instanțelor de memorie a obiectului și asigură un control explicit de curățare a memoriei, față de finalizarea implicită a curățării memoriei. Eliminarea poate fi invocată chiar și atunci când există alte instanțe de obiecte de memorie, în timp ce Finalize poate fi invocată numai după ce ultimul obiect de memorie este distrus.


Eliminați regulile metodei sunt următoarele:

  • Folosit pentru resurse neadministrate care necesită eliberare imediată după utilizare.
  • Dacă nu se numește Dispose, metoda Finalize ar trebui să fie implementată.
  • După apelarea metodei Dispose, trebuie apelată metoda GC.SuppressFinalize pentru a evita metoda Finalize și pentru a evita GC inutile.
  • Excepțiile trebuie tratate cu atenție dacă metoda Eliminați este invocată de mai multe ori. Dacă resursele sunt eliminate, orice metodă de instanță poate arunca ObjectDisposedException.
  • Un obiect cu o metodă numită anterior Eliminați nu poate fi reutilizat.
  • Eliminați este recomandat numai pentru gestionarea obiectelor de resurse native și a obiectelor Component Object Model (COM) expuse la .NET Framework.
  • Eliminarea nu poate fi invocată concomitent din mai multe fire, din cauza rezultatelor imprevizibile.
  • Tipurile de valoare nu trebuie create ca tipuri de unică folosință sau cu resurse neadministrate.
  • Atunci când utilizați resurse neadministrate, se consideră cea mai bună practică aplicarea instrucțiunii Utilizarea codului sursă, care invocă automat metoda Eliminare a obiectului după completarea codului obiectului.
Această definiție a fost scrisă în contextul C #
Ce se dispune? - definiție din techopedia