Tipos de objectos en reflexion.

07/07/2004 - 18:10 por Jose Antonio | Informe spam
Si mediante reflexion instancio el objeto o de un formulario que se llama dl
mismo modo que el string pasado como cadena.

string cadena="Consulta"

Assembly a=Assembly.GetExecutingAssembly();

object o=Activator.CreateInstance(a.GetType(cadena));

¿Como puede tipar el objeto o para que se comporte exactamente igual que el
formulario cuyo nombre tengo en cadena para acceder a sus metodos y
propiedades?.

No se si me explicado bien.



Saludos.

Preguntas similare

Leer las respuestas

#1 alfredo
07/07/2004 - 18:30 | Informe spam
On Wed, 7 Jul 2004 18:10:37 +0200, "Jose Antonio"
wrote:

Si mediante reflexion instancio el objeto o de un formulario que se llama dl
mismo modo que el string pasado como cadena.



El verbo instanciar no existe.

string cadena="Consulta"

Assembly a=Assembly.GetExecutingAssembly();

object o=Activator.CreateInstance(a.GetType(cadena));

¿Como puede tipar el objeto o para que se comporte exactamente igual que el
formulario cuyo nombre tengo en cadena para acceder a sus metodos y
propiedades?.



if (cadena = "Consulta")
Consulta consulta = (Consulta)o


Saludos
Respuesta Responder a este mensaje
#2 Octavio Hernandez
07/07/2004 - 18:38 | Informe spam
JA,

Sería:

Consulta c = (Consulta) o;

pero entonces perdería su sentido utilizar la reflexión, ¿no? SI sabes que
queieres crear un objeto Consulta, haces:

Consulta o = new Consulta();

Slds,

Octavio

"Jose Antonio" escribió en el mensaje
news:%
Si mediante reflexion instancio el objeto o de un formulario que se llama


dl
mismo modo que el string pasado como cadena.

string cadena="Consulta"

Assembly a=Assembly.GetExecutingAssembly();

object o=Activator.CreateInstance(a.GetType(cadena));

¿Como puede tipar el objeto o para que se comporte exactamente igual que


el
formulario cuyo nombre tengo en cadena para acceder a sus metodos y
propiedades?.

No se si me explicado bien.



Saludos.




Respuesta Responder a este mensaje
#3 Jose Antonio
07/07/2004 - 21:23 | Informe spam
Pero si a.GetType(cadena) es un typeof del formulario Consulta, de alguna
manera se podra tipar el objeto o.

El string cadena puede tener cualquier valor, y este no se sabe hasta el
tiempo de ejecucion.

Se puede hacer?

"Octavio Hernandez" escribió en el mensaje
news:
JA,

Sería:

Consulta c = (Consulta) o;

pero entonces perdería su sentido utilizar la reflexión, ¿no? SI sabes que
queieres crear un objeto Consulta, haces:

Consulta o = new Consulta();

Slds,

Octavio

"Jose Antonio" escribió en el mensaje
news:%
> Si mediante reflexion instancio el objeto o de un formulario que se


llama
dl
> mismo modo que el string pasado como cadena.
>
> string cadena="Consulta"
>
> Assembly a=Assembly.GetExecutingAssembly();
>
> object o=Activator.CreateInstance(a.GetType(cadena));
>
> ¿Como puede tipar el objeto o para que se comporte exactamente igual que
el
> formulario cuyo nombre tengo en cadena para acceder a sus metodos y
> propiedades?.
>
> No se si me explicado bien.
>
>
>
> Saludos.
>
>
>
>


Respuesta Responder a este mensaje
#4 Jose Antonio
07/07/2004 - 21:37 | Informe spam
El verbo instanciar no existe.



Algun dia existira.

"Alfredo Novoa" escribió en el mensaje
news:
On Wed, 7 Jul 2004 18:10:37 +0200, "Jose Antonio"
wrote:

>Si mediante reflexion instancio el objeto o de un formulario que se llama


dl
>mismo modo que el string pasado como cadena.

El verbo instanciar no existe.

>string cadena="Consulta"
>
>Assembly a=Assembly.GetExecutingAssembly();
>
>object o=Activator.CreateInstance(a.GetType(cadena));
>
>¿Como puede tipar el objeto o para que se comporte exactamente igual que


el
>formulario cuyo nombre tengo en cadena para acceder a sus metodos y
>propiedades?.

if (cadena = "Consulta")
Consulta consulta = (Consulta)o


Saludos

Respuesta Responder a este mensaje
#5 Octavio Hernandez
07/07/2004 - 21:58 | Informe spam
JA,

Se puede, como te decíamos:

Consulta c = (Consulta) o;

Antes te decía que entonces utilizar la reflexión para crear el objeto no
tendría sentido. Fui demasiado lejos al decir eso. Sí podría tener sentido,
en caso de que Consulta no fuese una clase "final", sino la raíz de una
jerarquía de clases, y supiéramos que el objeto creado pertenece a la clase
Consulta o a alguna de sus subclases. Este 'cast' nos permitiría tratar el
objeto creado de manera polimórfica.

Slds,

Octavio

"Jose Antonio" escribió en el mensaje
news:
Pero si a.GetType(cadena) es un typeof del formulario Consulta, de alguna
manera se podra tipar el objeto o.

El string cadena puede tener cualquier valor, y este no se sabe hasta el
tiempo de ejecucion.

Se puede hacer?

"Octavio Hernandez" escribió en el mensaje
news:
> JA,
>
> Sería:
>
> Consulta c = (Consulta) o;
>
> pero entonces perdería su sentido utilizar la reflexión, ¿no? SI sabes


que
> queieres crear un objeto Consulta, haces:
>
> Consulta o = new Consulta();
>
> Slds,
>
> Octavio
>
> "Jose Antonio" escribió en el mensaje
> news:%
> > Si mediante reflexion instancio el objeto o de un formulario que se
llama
> dl
> > mismo modo que el string pasado como cadena.
> >
> > string cadena="Consulta"
> >
> > Assembly a=Assembly.GetExecutingAssembly();
> >
> > object o=Activator.CreateInstance(a.GetType(cadena));
> >
> > ¿Como puede tipar el objeto o para que se comporte exactamente igual


que
> el
> > formulario cuyo nombre tengo en cadena para acceder a sus metodos y
> > propiedades?.
> >
> > No se si me explicado bien.
> >
> >
> >
> > Saludos.
> >
> >
> >
> >
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida