SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: lalo_soft en Jueves 10 de Mayo de 2007, 20:44

Título: Eliminar Objeto
Publicado por: lalo_soft en Jueves 10 de Mayo de 2007, 20:44
Creo un obj:

 Obj Mi_objeto = new Obj();

 uso el objeto:

 Mi_objeto.blabla();

 pero ahora nesesito eliminarlo ¿como puedo hacerlo? creo que se hace con una funcion  
llamada Dispose(), pero no me acuerdo como se implementa. :huh:
Título: Re: Eliminar Objeto
Publicado por: Neopro en Jueves 10 de Mayo de 2007, 21:26
No conozco bien la implementacion de lo que deseas hacer, pero te puede servir esto:

Código: Text
  1. object obj = new object();
  2.                 obj = null;
  3.  
Título: Re: Eliminar Objeto
Publicado por: yaG en Jueves 10 de Mayo de 2007, 22:29
visual studio utiliza el concepto de Garbage Collector, el cual se encarga de buscar objetos que no se utilizen más y eliminarlos...
O sea no es necesario que lo borre uno, visual studio tiene un gestor de memoria automática.

Igualmente si uno quiesiera eliminarlo es según tenía entendido objeto.Dispose(); y listo..

Salu2.
Título: Re: Eliminar Objeto
Publicado por: lalo_soft en Jueves 10 de Mayo de 2007, 23:26
Citar
Igualmente si uno quiesiera eliminarlo es según tenía entendido objeto.Dispose(); y listo..

Lo que pasa con eso es que uno tiene que crear la funcion Dispose() la cual no es una funcion ordinaria,pero es ahi lo que no me acuerdo como hacer una funcion Dispose() para este obj en particular.
Título: Re: Eliminar Objeto
Publicado por: lalo_soft en Jueves 10 de Mayo de 2007, 23:31
Cita de: "Neopro"
No conozco bien la implementacion de lo que deseas hacer, pero te puede servir esto:

Código: Text
  1. object obj = new object();
  2.                 obj = null;
  3.  
En este caso no me sirve esa forma ya que no se llamaria al destructor del objteto en forma inmediata sino cuando el recolector de obj sin referencia(Garbage Collector) lo decida.
Título: Re: Eliminar Objeto
Publicado por: Mollense en Viernes 11 de Mayo de 2007, 03:20
Claro, pero mientras tenga alguna referencia el GC no lo eliminará.
Título: Re: Eliminar Objeto
Publicado por: JuanK en Viernes 11 de Mayo de 2007, 04:51
Debes implementar la interfaz IDisposable, eso básicamente...
luego algo mejor implementado requerirá que implementes el destructor y un mecanismo para controlar que solo se invoque el metodo una sola vez... no es nada complejo aca hay ejemplos al respecto:

http://www.codeproject.com/csharp/IDispose.asp (http://www.codeproject.com/csharp/IDispose.asp)


también desde luego los hay en msdn y en muchos otros tutoriales.
Título: Re: Eliminar Objeto
Publicado por: lalo_soft en Viernes 11 de Mayo de 2007, 05:04
Gracias, como siempre el master y guru Juank al rescate de nosotros los iniciados ;)