Taula de continguts:
Definició: què significa Eliminar?
En el context de C #, disposar és un mètode d'objecte invocat per executar codi necessari per a la neteja de memòria i alliberar i restablir recursos no gestionats, com ara mànecs de fitxers i connexions de bases de dades. Elimina millora el rendiment i optimitza la memòria alliberant objectes no gestionables i recursos escassos, com les nanses gràfiques de dispositius d’interfície (GDI) que s’utilitzen en aplicacions amb espai restringit de Windows.
El mètode Dispose, proporcionat per la interfície IDisposable, implementa Eliminar trucades. El patró Dispose està dissenyat per a una neteja puntual i previsible, prevenció de fuites de memòria temporal i eliminació de recursos.
Techopedia explica Eliminar
El marc .NET facilita la recollida d’escombraries (GC), gestiona la memòria d’objectes i els recursos i reclama referències de memòria d’objectes no vàlides invocant Finalize: un mètode no determinista. El mètode Dispose controla la vida útil de les instàncies de memòria d'objectes i proporciona un control explícit de neteja de memòria, enfront de la neteja de memòria implícita de Finalize. Eliminar-se pot ser invocat fins i tot quan existeixin altres instàncies d’objectes de memòria, mentre que Finalize només es pot invocar un cop destruït l’últim objecte de memòria.
Eliminar les regles del mètode són les següents:
- S'utilitza per a recursos no gestionats que necessiten alliberament immediat després de l'ús.
- Si no s’anomena Dispose, s’hauria d’implementar el mètode Finalize.
- Després de trucar al mètode Dispose, cal trucar al mètode GC.SuppressFinalize per evitar el mètode Finalize i evitar GC innecessari.
- Les excepcions s'han de manejar acuradament si s'invoca més d'un cop el mètode Eliminar. Si es disposen recursos, qualsevol mètode d’instància pot llançar ObjectDisposedException.
- És possible que no es pugui reutilitzar un objecte amb un mètode anteriorment anomenat Eliminar.
- Eliminar només es recomana per a la gestió d’objectes de recurs natius i objectes Component Object Model (COM) exposats a .NET Framework.
- Eliminar no es pot invocar simultàniament des de diversos fils, a causa de resultats imprevisibles.
- Els tipus de valor no s’han de crear com a tipus d’un sol ús ni amb membres de recursos no gestionats.
- Quan s'utilitzen recursos no gestionats, es considera la millor pràctica aplicar la instrucció Use del codi font, que invoca automàticament el mètode Eliminar l'objecte després de completar el codi d'objecte.
