Hogar Desarrollo ¿Qué es disponer? - definición de techopedia

¿Qué es disponer? - definición de techopedia

Tabla de contenido:

Anonim

Definición - ¿Qué significa Dispose?

En el contexto de C #, disponer es un método de objeto invocado para ejecutar el código requerido para la limpieza de memoria y liberar y restablecer recursos no administrados, como identificadores de archivos y conexiones de bases de datos. Dispose mejora el rendimiento y optimiza la memoria al liberar objetos inmanejables y recursos escasos, como los controladores de interfaz de dispositivo gráfico (GDI) utilizados en aplicaciones con espacio restringido de Windows.


El método Dispose, proporcionado por la interfaz IDisposable, implementa llamadas Dispose. El patrón Dispose está diseñado para una limpieza oportuna y predecible, prevención de fugas de memoria temporales y eliminación de recursos.

Techopedia explica Dispose

El marco .NET facilita la recolección de basura (GC), administra la memoria de objetos y recursos y reclama referencias de memoria de objetos inválidas invocando Finalizar, un método no determinista. El método Dispose controla la vida útil de las instancias de memoria de objetos y proporciona un control explícito de limpieza de memoria, en comparación con la limpieza implícita de Finalize. Dispose se puede invocar incluso cuando existen otras instancias de objetos de memoria, mientras que Finalize solo se puede invocar después de destruir el último objeto de memoria.


Las reglas del método de eliminación son las siguientes:

  • Se utiliza para recursos no administrados que requieren liberación inmediata después de su uso.
  • Si no se llama a Dispose, se debe implementar el método Finalize.
  • Después de llamar al método Dispose, se debe llamar al método GC.SuppressFinalize para evitar el método Finalize y evitar GC innecesarios.
  • Las excepciones deben manejarse con cuidado si se invoca el método Dispose más de una vez. Si se eliminan los recursos, cualquier método de instancia puede arrojar la ObjectDisposedException.
  • Un objeto con un método llamado Dispose previamente no se puede reutilizar.
  • Dispose se recomienda solo para la administración de objetos de recursos nativos y objetos del Modelo de objetos componentes (COM) expuestos a .NET Framework.
  • Dispose no se puede invocar simultáneamente desde varios subprocesos, debido a resultados impredecibles.
  • Los tipos de valor no deben crearse como tipos desechables o con miembros de recursos no administrados.
  • Cuando se usan recursos no administrados, se considera una mejor práctica aplicar la instrucción Using del código fuente, que invoca automáticamente el método Dispose del objeto después de completar el código del objeto.
Esta definición fue escrita en el contexto de C #
¿Qué es disponer? - definición de techopedia