Dispose
Páginas: 4 (863 palabras)
Publicado: 20 de agosto de 2012
El método Dispose de un tipo debe liberar todoslos recursos de su propiedad. También debe liberar todos los recursos que posean sus tipos base; para ello, llama al métodoDispose de su tipo primario. El método Dispose del tipo primario debe liberartodos los recursos que posee y, a su vez, llamar al método Dispose de su tipo primario, de modo que este patrón se propaga por la jerarquía de tipos base. Para asegurarse de que los recursos selimpien siempre correctamente, un método Dispose debe debe ser invocable varias veces sin que se produzca una excepción.
No supone ninguna ventaja sobre el rendimiento implementar el método Dispose entipos que utilizan sólo recursos administrados (como matrices) porque el recolector de elementos no utilizados los reclama automáticamente. Utilice principalmente el método Dispose en los objetosadministrados que utilizan los recursos nativos y en los objetos COM que se exponen a .NET Framework. Los objetos administrados que utilizan recursos nativos (como la clase FileStream) implementan lainterfaz IDisposable.
Un método Dispose debería llamar al método SuppressFinalize en el objeto que está desechando. Si el objeto se encuentra en la cola de finalización en ese momento,SuppressFinalize evitaque se llame a su método Finalize. Recuerde que ejecutar un método Finalize afecta al rendimiento. Si el método Dispose ya ha limpiado el objeto, no es necesario que el recolector de elementos noutilizados llame al método Finalize del objeto.
El ejemplo de código proporcionado para el método GC.KeepAlive muestra cómo la recolección de elementos no utilizados rigurosa puede hacer que se...
Leer documento completo
Regístrate para leer el documento completo.