Reflexion(cuando usar)

07/10/2004 - 11:13 por fernando | Informe spam
Hola grupo, gracias antes que nada, ahora la pregunta¿Cuando es mas
conveniente usar reflexion?¿cual es el objetivo fundamental de reflexion?
tengo alguna pequeña confusion con este tema.Gracias
fernando

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
07/10/2004 - 13:40 | Informe spam
Fernando,

La reflexión es la capacidad de acceder en tiempo de ejecución a los
detalles de la estructura interna de un objeto. Por ejemplo, dado un objeto,
ver cuáles son sus propiedades o métodos, cambiar el valor de una propiedad,
llamar a un método, etc. Por ejemplo, si tienes un botón b y quieres cambiar
el valor de su propiedad Text, puedes hacerlo así:

b.Text = "Hola";

o así:

Type t = b.GetType();
PropertyInfo pi = t.GetProperty("Text");

pi.SetValue(b, "Hola", null);

Por supuesto, hacerlo por la 1ª vía es mucho más sencillo que por la
segunda. Lo que quiero decir es que la reflexión ofrece una gran potencia,
pero en las aplicaciones "normales" no te hará falta utilizarla casi nunca.
Sólo cuando se tenga que realizar un cierto tipo de programación "genérica",
manipulando objetos de tipos diferentes, etc. la reflexión nos sacará del
apuro.

Salu2,

Octavio

"fernando" escribió en el mensaje
news:
Hola grupo, gracias antes que nada, ahora la pregunta¿Cuando es mas
conveniente usar reflexion?¿cual es el objetivo fundamental de reflexion?
tengo alguna pequeña confusion con este tema.Gracias
fernando


Respuesta Responder a este mensaje
#2 fernando
07/10/2004 - 16:14 | Informe spam
gracias octavio, ahora me queda mas claro. El ejemplo que utilizas es muy
simple, que no vale la pena reflexion para eso, haces entender muy bien la
capacidad y el alcance de reflexion, claro como bien dices, es para alguna
aplicacion mas "gorda". Bueno , gracias
fernando
"Octavio Hernandez" escribió en el mensaje
news:#
Fernando,

La reflexión es la capacidad de acceder en tiempo de ejecución a los
detalles de la estructura interna de un objeto. Por ejemplo, dado un


objeto,
ver cuáles son sus propiedades o métodos, cambiar el valor de una


propiedad,
llamar a un método, etc. Por ejemplo, si tienes un botón b y quieres


cambiar
el valor de su propiedad Text, puedes hacerlo así:

b.Text = "Hola";

o así:

Type t = b.GetType();
PropertyInfo pi = t.GetProperty("Text");

pi.SetValue(b, "Hola", null);

Por supuesto, hacerlo por la 1ª vía es mucho más sencillo que por la
segunda. Lo que quiero decir es que la reflexión ofrece una gran potencia,
pero en las aplicaciones "normales" no te hará falta utilizarla casi


nunca.
Sólo cuando se tenga que realizar un cierto tipo de programación


"genérica",
manipulando objetos de tipos diferentes, etc. la reflexión nos sacará del
apuro.

Salu2,

Octavio

"fernando" escribió en el mensaje
news:
> Hola grupo, gracias antes que nada, ahora la pregunta¿Cuando es mas
> conveniente usar reflexion?¿cual es el objetivo fundamental de


reflexion?
> tengo alguna pequeña confusion con este tema.Gracias
> fernando
>
>


Respuesta Responder a este mensaje
#3 Octavio Hernandez
07/10/2004 - 23:08 | Informe spam
Hombre, era un intento de dar un ejemplo sencillo. Lo cierto es que ofrece
una potencia tremenda, por ejemplo podrías abrir (con los correspondientes
permisos por supuesto) un ensamblado (DLL o EXE) cualquiera, ver qué tipos
tiene dentro, sacar las propiedades métodos y eventos de todos esos tipo...

En una gran parte de las aplicaciones tradicionales no hace falta
utilizarlo, pero conviene saber que está ahí...

Salu2 - Octavio

"fernando" escribió en el mensaje
news:%23J5%
gracias octavio, ahora me queda mas claro. El ejemplo que utilizas es muy
simple, que no vale la pena reflexion para eso, haces entender muy bien la
capacidad y el alcance de reflexion, claro como bien dices, es para alguna
aplicacion mas "gorda". Bueno , gracias
fernando
"Octavio Hernandez" escribió en el mensaje
news:#
> Fernando,
>
> La reflexión es la capacidad de acceder en tiempo de ejecución a los
> detalles de la estructura interna de un objeto. Por ejemplo, dado un
objeto,
> ver cuáles son sus propiedades o métodos, cambiar el valor de una
propiedad,
> llamar a un método, etc. Por ejemplo, si tienes un botón b y quieres
cambiar
> el valor de su propiedad Text, puedes hacerlo así:
>
> b.Text = "Hola";
>
> o así:
>
> Type t = b.GetType();
> PropertyInfo pi = t.GetProperty("Text");
>
> pi.SetValue(b, "Hola", null);
>
> Por supuesto, hacerlo por la 1ª vía es mucho más sencillo que por la
> segunda. Lo que quiero decir es que la reflexión ofrece una gran


potencia,
> pero en las aplicaciones "normales" no te hará falta utilizarla casi
nunca.
> Sólo cuando se tenga que realizar un cierto tipo de programación
"genérica",
> manipulando objetos de tipos diferentes, etc. la reflexión nos sacará


del
> apuro.
>
> Salu2,
>
> Octavio
>
> "fernando" escribió en el mensaje
> news:
> > Hola grupo, gracias antes que nada, ahora la pregunta¿Cuando es mas
> > conveniente usar reflexion?¿cual es el objetivo fundamental de
reflexion?
> > tengo alguna pequeña confusion con este tema.Gracias
> > fernando
> >
> >
>
>


Respuesta Responder a este mensaje
#4 fernando
08/10/2004 - 09:45 | Informe spam
gracias de nuevo, lo del ejemplo sencillo era para decirte que estuvo muy
claro, en ningun momento se trato de ninguna critica. Gracias por ampliarme
la respuesta
fernando

"Octavio Hernandez" escribió en el mensaje
news:#

Hombre, era un intento de dar un ejemplo sencillo. Lo cierto es que ofrece
una potencia tremenda, por ejemplo podrías abrir (con los correspondientes
permisos por supuesto) un ensamblado (DLL o EXE) cualquiera, ver qué tipos
tiene dentro, sacar las propiedades métodos y eventos de todos esos


tipo...

En una gran parte de las aplicaciones tradicionales no hace falta
utilizarlo, pero conviene saber que está ahí...

Salu2 - Octavio

"fernando" escribió en el mensaje
news:%23J5%
> gracias octavio, ahora me queda mas claro. El ejemplo que utilizas es


muy
> simple, que no vale la pena reflexion para eso, haces entender muy bien


la
> capacidad y el alcance de reflexion, claro como bien dices, es para


alguna
> aplicacion mas "gorda". Bueno , gracias
> fernando
> "Octavio Hernandez" escribió en el mensaje
> news:#
> > Fernando,
> >
> > La reflexión es la capacidad de acceder en tiempo de ejecución a los
> > detalles de la estructura interna de un objeto. Por ejemplo, dado un
> objeto,
> > ver cuáles son sus propiedades o métodos, cambiar el valor de una
> propiedad,
> > llamar a un método, etc. Por ejemplo, si tienes un botón b y quieres
> cambiar
> > el valor de su propiedad Text, puedes hacerlo así:
> >
> > b.Text = "Hola";
> >
> > o así:
> >
> > Type t = b.GetType();
> > PropertyInfo pi = t.GetProperty("Text");
> >
> > pi.SetValue(b, "Hola", null);
> >
> > Por supuesto, hacerlo por la 1ª vía es mucho más sencillo que por la
> > segunda. Lo que quiero decir es que la reflexión ofrece una gran
potencia,
> > pero en las aplicaciones "normales" no te hará falta utilizarla casi
> nunca.
> > Sólo cuando se tenga que realizar un cierto tipo de programación
> "genérica",
> > manipulando objetos de tipos diferentes, etc. la reflexión nos sacará
del
> > apuro.
> >
> > Salu2,
> >
> > Octavio
> >
> > "fernando" escribió en el mensaje
> > news:
> > > Hola grupo, gracias antes que nada, ahora la pregunta¿Cuando es mas
> > > conveniente usar reflexion?¿cual es el objetivo fundamental de
> reflexion?
> > > tengo alguna pequeña confusion con este tema.Gracias
> > > fernando
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#5 Kano
08/10/2004 - 11:34 | Informe spam
Amplio la pregunta. Uso el siguiente codigo para poner todos los controles
contenidos en un grupbox que sean textbox a solo lectura ignorando la
excepción cuando no lo son:

foreach (Control c in gb_pvp.Controls)
try{
((TextBox)c).ReadOnly =false;}
catch (Exception ex){}

El caso esq no funciona. Debo intentar usar reflexión o busco el fallo opr
otro sitio?

Gracias
Kano


"Octavio Hernandez" escribió en el mensaje
news:%
Fernando,

La reflexión es la capacidad de acceder en tiempo de ejecución a los
detalles de la estructura interna de un objeto. Por ejemplo, dado un


objeto,
ver cuáles son sus propiedades o métodos, cambiar el valor de una


propiedad,
llamar a un método, etc. Por ejemplo, si tienes un botón b y quieres


cambiar
el valor de su propiedad Text, puedes hacerlo así:

b.Text = "Hola";

o así:

Type t = b.GetType();
PropertyInfo pi = t.GetProperty("Text");

pi.SetValue(b, "Hola", null);

Por supuesto, hacerlo por la 1ª vía es mucho más sencillo que por la
segunda. Lo que quiero decir es que la reflexión ofrece una gran potencia,
pero en las aplicaciones "normales" no te hará falta utilizarla casi


nunca.
Sólo cuando se tenga que realizar un cierto tipo de programación


"genérica",
manipulando objetos de tipos diferentes, etc. la reflexión nos sacará del
apuro.

Salu2,

Octavio

"fernando" escribió en el mensaje
news:
> Hola grupo, gracias antes que nada, ahora la pregunta¿Cuando es mas
> conveniente usar reflexion?¿cual es el objetivo fundamental de


reflexion?
> tengo alguna pequeña confusion con este tema.Gracias
> fernando
>
>


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