Implementar DISPOSE

09/02/2006 - 17:46 por anonimous | Informe spam
Saludos a todos.


Su ayuda con lo siguiente. En todas las clases quisiera que se implementen
el dispose con C# para poder destruirlas una vez que ya no las utilizo.


Por favor si alguien me ayuda gracias.


Atte:
Wilson.

Preguntas similare

Leer las respuestas

#1 Benton
09/02/2006 - 18:37 | Informe spam
Su ayuda con lo siguiente. En todas las clases quisiera que se implementen
el dispose con C# para poder destruirlas una vez que ya no las utilizo.



El Dispose no es exactamente para eso, ya que en .NET los objetos son
destruídos automáticamente cuando no hay referencias hacia ellos. Dipose es
indicado para que liberes recursos, manejados o no manejados, que tu objeto
ya no va a utilizar. Pero reitero, llamar a Dipose() no destruye al objeto.

Saludos,

-Benton
Respuesta Responder a este mensaje
#2 Eduardo A. Morcillo [MS MVP VB]
09/02/2006 - 18:58 | Informe spam
Como primer punto, no todas las clases necesitan implementar IDisposable, si
fuera necesario implementar Dispose en todas las clases, este seria un
metodo de Object y no de una interface que puedas o no implementar.
IDisposable se debe implementar cuando la clase mantiene en uso recursos no
manejados (por ejemplo un archivo). Lo segundo es que Dispose no destruye
los objetos ni es para destruir los objetos cuando uno quiere sino para que
las clases liberen los recursos no manejados sin tener que esperar a que el
GC llame al destructor de la clase. Si seguimos con el ejemplo del archivo,
lo que haria Dispose es cerrar ese archivo que usa la clase. De la
destruccion y descarga de los objetos de memoria se ocupa el garbage
collector y no hay nada que puedas hacer para destruir y descargar de
memoria un objeto en el momento que quieras (si hay cosas que puedes tener
en cuenta para que el GC los recolecte mas rapido).

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida