System.Reflection

11/08/2004 - 20:50 por Jose Antonio | Informe spam
Tengo un formulario con un control TextBox y quiero acceder a las
propiedades del TextBox por medio de Reflection.



Type t=Formulario.GetType();

System.Reflection.FieldInfo m=t.GetField("textBox1");

System.Reflection.PropertyInfo p=m.FieldType.GetProperty("Text");

// Hasta aqui todo bien m tienen la informacón correcta y p tambien

Al intentar coger el valor de la propiedad Text de textBox1 me salta una
excepcion de TargerException

object o=p.GetValue(m.FieldType,null),

tambien he probado con

object o=p.GetValue(t,null);

¿Alguna sugerencia?



Saludos y gracias.
 

Leer las respuestas

#1 Octavio Hernandez
11/08/2004 - 23:27 | Informe spam
JA,

El problema es que en la última llamada el primer parámetro tiene que ser el
objeto TextBox en sí, no su tipo ni ninguna otra cosa.
Mira a ver si te vale esto, que funciona OK:
Type t= this.GetType();

System.Reflection.FieldInfo m = t.GetField("textBox1");

System.Reflection.PropertyInfo p = m.FieldType.GetProperty("Text");

TextBox tb = (TextBox) this.Controls.Find("textBox1", true)[0];

string s = (string) p.GetValue(tb, null);

MessageBox.Show(s);

He utilizado 'this' en lugar de tu variable 'Formulario', por lo demás es lo
mismo.

Salu2 - Octavio

****************************************************************************
********************
"Jose Antonio" escribió en el mensaje
news:
Tengo un formulario con un control TextBox y quiero acceder a las
propiedades del TextBox por medio de Reflection.



Type t=Formulario.GetType();

System.Reflection.FieldInfo m=t.GetField("textBox1");

System.Reflection.PropertyInfo p=m.FieldType.GetProperty("Text");

// Hasta aqui todo bien m tienen la informacón correcta y p tambien

Al intentar coger el valor de la propiedad Text de textBox1 me salta una
excepcion de TargerException

object o=p.GetValue(m.FieldType,null),

tambien he probado con

object o=p.GetValue(t,null);

¿Alguna sugerencia?



Saludos y gracias.


Preguntas similares