Saber si un objeto esta instanciado

10/04/2007 - 13:42 por Pedro | Informe spam
Como saber si un objeto de determinado tipo (clase) se encuentra
instanciado?

Ej. public static bool ExisteObjeto(string cRutaObjeto)

//Ejemplo: bool ExisteMiobjeto=ExisteObjeto("Form1.MiObjeto")

Pedro
 

Leer las respuestas

#1 Alberto Poblacion
10/04/2007 - 14:09 | Informe spam
"Pedro" wrote in message
news:%
Como saber si un objeto de determinado tipo (clase) se encuentra
instanciado?

Ej. public static bool ExisteObjeto(string cRutaObjeto)

//Ejemplo: bool ExisteMiobjeto=ExisteObjeto("Form1.MiObjeto")



Me temo que estás confundiendo la clase con el objeto. Un objeto por
definición siempre está instanciado, sino no existe el objeto. Creo que la
pregunta que haces es en realidad "Cómo saber si existe alguna instancia de
una clase determinada". Ante la cual la respuesta es básicamente que "en
general no se puede".
Si solo creas en tu programa una única instancia (un solo objeto de esa
clase) y siempre usas una variable concreta para guardar la referencia a ese
objeto, entonces está instanciado siempre que la referencia no sea null.
Incluso aunque la referencia sea null, el objeto podría seguir instanciado
si el recogedor de basura todavía no lo ha destruido.
Si no sigues ningún criterio y guardas las referencias en cualquier
sitio, entonces la única forma de controlar las instancias es modificar el
fuente de la clase para que siga un modelo de tipo "Fatoría de objetos" y el
método-factoría junto con el Finalizador de la clase lleven internamente el
control de todas las instancias creadas.

Preguntas similares