Llamar a formularios por reflexion.

28/07/2003 - 12:53 por Jose Antonio | Informe spam
string formulario="NombreDelFormulario";

Type formtype=Type.GetType(formulario);

object F=Activator.CreateInstance(formtype);

Por reflexion se puede crear una instancia a formularios pasando el nombre
unicamente si este esta en el ensamblado actual, pero una vez que tenemos el
objeto F que es la instancia al formulario.

¿Como se puede acceder ahora a las propiedades y metodos de F?

¿Como se haria un F.ShowDialog() ?.





Saludos.

José Antonio.
 

Leer las respuestas

#1 Ander
29/08/2003 - 10:17 | Informe spam
Perdona que no te haya contestado hasta ahora, pero, las vacaciones...

No sé si es válido para el caso de un formulario, pero para acceder a
métodos/propiedades de un objeto creado
dinámicamente, la manera más fácil es derivar la clase de una interfaz y
llamar a los métodos haciendo casting con la interfaz.

Suponiendo que formtype implemente la interfaz IMiInterfaz, y que esta tenga
definido el método MiMetodo, para llamar al mismo
deberás

xxx = (IMiInterfaz) F.MiMetodo();

Saludos...

Ander
"Jose Antonio" escribió en el mensaje
news:
string formulario="NombreDelFormulario";

Type formtype=Type.GetType(formulario);

object F=Activator.CreateInstance(formtype);

Por reflexion se puede crear una instancia a formularios pasando el nombre
unicamente si este esta en el ensamblado actual, pero una vez que tenemos


el
objeto F que es la instancia al formulario.

¿Como se puede acceder ahora a las propiedades y metodos de F?

¿Como se haria un F.ShowDialog() ?.





Saludos.

José Antonio.


Preguntas similares