Foros del Web » Programación para mayores de 30 ;) » .NET »

que es el "Dispose"

Estas en el tema de que es el "Dispose" en el foro de .NET en Foros del Web. Que es el Dispose....... Cuando usar el Dispose? Muchas Gracias...................
  #1 (permalink)  
Antiguo 04/03/2004, 07:11
 
Fecha de Ingreso: enero-2004
Ubicación: Mérida
Mensajes: 60
Antigüedad: 20 años, 3 meses
Puntos: 1
que es el "Dispose"

Que es el Dispose.......

Cuando usar el Dispose?

Muchas Gracias................
  #2 (permalink)  
Antiguo 04/03/2004, 07:22
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 5 meses
Puntos: 0
Dispose es un método que indica la destrucción del objeto al que pertenece con su consiguiente liberación de memoria.
Indica que dicho objeto no se va a usar más y que el SO puede disponer de los recursos que hasta ese momento le estaban reservados.
Igualmente llamar al método Dispose no garantiza que dichos recursos sean liberados inmediatamente ya que .NET administra dicho proceso de forma arbitraria.
  #3 (permalink)  
Antiguo 04/03/2004, 16:21
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 4 meses
Puntos: 8
Segun tengo entendido el Dispose no es necesario ejecutarlo(gracias a que .NET trae un recolector de basura que se encarga de eliminar los objetos que no estamos usando),pero no está de mal ponerlo,corriganme si me equivoco :),saludos!
  #4 (permalink)  
Antiguo 04/03/2004, 19:58
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 5 meses
Puntos: 0
efectivamente sundark.

Por ejémplo:

Sub Procedimiento()
Dim Obj as Object
...
...
Obj.Dispose
End Sub

En el procedimiento anterior es innecesario llamar al método dispose en ese momento ya que el objeto tiene alcance de procedimiento, cuando éste termina, se elimina automáticamente.
  #5 (permalink)  
Antiguo 05/03/2004, 09:15
 
Fecha de Ingreso: septiembre-2003
Ubicación: Xalapa Ver.,
Mensajes: 83
Antigüedad: 20 años, 7 meses
Puntos: 0
Me parecen acertados sus comentarios en teoría , pero la realidad es otra. He intentado cerrar objetos de conexion con la propiedad DISPOSE y me he dado cuenta de que no librea "realmente" los recursos, de hecho lo que tengo que hacer para que no me genere error es usar "CLOSE" o a la antiguita "NOTHING". Entiendo que G.C. entra en accion y elimina los objetos que esten marcados con DISPOSE, el problem es que uno no sabe cuando entra en accion , llamarlo es inutil porque hara aparicion solo cuando el FrameWork lo considera necesario. Por lo tanto yo recomendaria que en el uso de conexiones, y cualquier otro objeto reutilizable lo destruyesen por completo antes de volver a usarlo. saludos esta es mi humild eopinion en base a la experiencia
__________________
Ivancio
Mexico
  #6 (permalink)  
Antiguo 05/03/2004, 12:08
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 5 meses
Puntos: 0
es verdad, como dije en mi primer post, el momento en el que el Garbage Collector destruye los objetos es arbitrario, y aunque dicho proceso se puede forzar utilizando GC.Collect() algunos entendidos dicen que ni así se garantiza que se eliminen inmediatamente.
Además su uso es, a mi entender, útil solamente en contados escenarios prácticos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:22.