Re: Consulta POO

"Alexis Araya" <[email protected]>
Newsgroups gmane.comp.gnome.mono.hispano
Message-ID <[email protected]>
Entonces la Implementacion correcta de las clases con su destructor seria de
la sgte forma??

/************************************************************************************/
public class Class1()
    {


    }


    public class Clase2: IDisposable
    {
         private bool IsDisposed = false;


         Class1 clasePrueba = new Class1();


         public void Dispose()
         {
             Dispose(true);
             GC.SuppressFinalize(this);
         }

         protected virtual void Dispose(bool disposedStatus)
        {

            if (!IsDisposed)
            {

                IsDisposed = true;

               if (disposedStatus)
                {

                }

            }

        }


    }
/************************************************************************************/

2008/3/25, Daniel Soto <[email protected]>:
>
> Hola.
>
> Cuando destruyes la referencia a class2, tambien class1 queda sin
> referenciar. No es necesario que implementes un destructor para class1. Hay
> que tener en cuenta eso si que no puedes llamar al destructor directamente,
> .net lo hace cuando destruyes el objeto. Tambien tener en cuenta que el
> objeto sigue ocupando memoria aunque le hagas un objeto=null, el garbage
> collector se encarga de limpiar la memoria cuando el heap se esta quedando
> sin espacio o bien cuando lo invocas explicitamente con System.GC.Collect().
> Esto solo ocurre cuando no queda ninguna referencia hacia class1 y class2.
>
> Otra cosa, es que si implementas un destructor para cualquiera de tus
> clases, el garbage collector realmente liberara su memoria la subsiguiente
> vez que se invoque. No asi si no implementas un destructor, en este caso se
> libera la siguiente vez.
>
> Implementa un destructor solo cuando creas que es necesario hacerlo.
>
> Espero haberte ayudado, saludos.
>
>
> El día 25/03/08, Alexis Araya <[email protected]> escribió:
> >
> > Hola,
> >
> > tengo una consulta sobre la implementacion de Dispose en un clase.
> >
> > mira tengo 2 clases
> > una es instanciada en la otra..
> >
> > ejemplo
> >
> > public class1()
> > {
> >
> > }
> >
> > public class2()
> > {
> >   class1 prueba1 = new class1();
> > }
> >
> >
> > cuando genere el destructor(dispose) de la class2,
> > debo tambien llamar e implementar al destructor de la class1???
> >
> > o lo asume y destruye todo lo instanciado de ese objecto??
> >
> > gracias de ante mano master.
> >
> > Saludos.
> >
> > --
> > Alexis Araya S.
> > http://aarayas.blogspot.com
> > /* La Amistad se Pierde, Cuando la Envidia Crece */
> > _______________________________________________
> > Mono-hispano mailing list
> > [email protected]
> > https://listas.hispalinux.es/mailman/listinfo/mono-hispano
> >
>
>


-- 
Alexis Araya S.
http://aarayas.blogspot.com
/* La Amistad se Pierde, Cuando la Envidia Crece */

_______________________________________________
Mono-hispano mailing list
[email protected]
https://listas.hispalinux.es/mailman/listinfo/mono-hispano
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.