De string a objeto

17/01/2008 - 03:46 por Josias | Informe spam
Tengo en una variable de tipo string el nombre de un objeto. Como obtengo
una referencia a dicho objeto ?


string NombreObjeto; /* tendra digamos "TextBox2"*/

Como obtengo una referencia del objeto TextBox2 ?

ejemplo una funcion asi:
TextBox tb=StrToObj(NombreAobjeto);
tb.text="prueba"
 

Leer las respuestas

#1 Alberto Poblacion
17/01/2008 - 08:07 | Informe spam
"Josias" <josias> wrote in message
news:
Tengo en una variable de tipo string el nombre de un objeto. Como obtengo
una referencia a dicho objeto ?


string NombreObjeto; /* tendra digamos "TextBox2"*/

Como obtengo una referencia del objeto TextBox2 ?

ejemplo una funcion asi:
TextBox tb=StrToObj(NombreAobjeto);
tb.text="prueba"



Lo puedes conseguir a través de Reflexión. Para ello, necesitas saber el
contenedor del objeto (por ejemplo, "TextBox2" podría existir en varios
formularios). Supongamos que TextBox2 es un campo de una instancia "frm" de
la clase "Form1" (si la llamada la haces desde dentro de Form1, "frm" sería
"this"):

using System.Reflection;
...
string nombre = "TextBox2";
Type t = frm.GetType();
FieldInfo fi = t.GetField(nombre,
BindingFlags.Public|BindingFags.NonPublic);
TextBox tb = (TextBox)fi.GetValue(frm);

Preguntas similares