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"

Preguntas similare

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);
Respuesta Responder a este mensaje
#2 Josias
17/01/2008 - 12:15 | Informe spam
Hombre, claro. Si ya me habias dado la solucion en aquel hilo donde
preguntaba como recorrer los objetos de un form. Debió haberseme ocurrido
usar la Reflexion , que ya veo que es bastante util.

Muchas gracias.

"Alberto Poblacion"
escribió en el mensaje news:%
"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);

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida