Duda poco comun...

06/01/2006 - 19:19 por Michel | Informe spam
Hola, saludos a todo, tengo una duda bien grande, que me ha dejado pensando
gran parte del dia:
Aqui les explico un poco mas:
supongamos que tengo una clase:

public Class ClassName
{
protected string var1;
protected string var2;
protected string var3;
.
.
.
.
.
}


Ahora en algun lugar de mi codigo tengo un Objeto de tipo ClassName.

Y por otro lado tengo una especie de iterador que contiene strings
(casualmente los mismos nombres de las variables)...
y quisiera saber si es pocible "evaluar" ese objeto en esas cadenas com si
fueran las variables..
algo asi:
ClassName object = new ClassName(...)

for each Iterador.Item
object.[Iterador.Item.Name] = Iterador.Item.value;
seria cmo evaluar(Object, Iterador.Item.Name)

Donde Iterador.Item.Name = var1, var2, var3... (pero como string)...
Existe alguna forma de hacer esto, no se si me explico, si alguien me
pudiera ayudar..
Gracias a todos.
Michel
 

Leer las respuestas

#1 Octavio Hernandez
06/01/2006 - 20:30 | Informe spam
Michel,

Con un poco de esfuerzo, creo que puedes programar lo que quieres usando
Reflection.
En particular, si haces:

FieldInfo[] campos = objeto.GetType().GetFields();

obtendrás un array con todos los campos del objeto 'objeto'.

http://msdn.microsoft.com/library/d...sTopic.asp

Para cada uno de esos campos podrás tanto obtener como modificar su valor:

http://msdn.microsoft.com/library/s...etopic.asp

Slds - Octavio


"Michel" escribió en el mensaje
news:
Hola, saludos a todo, tengo una duda bien grande, que me ha dejado
pensando gran parte del dia:
Aqui les explico un poco mas:
supongamos que tengo una clase:

public Class ClassName
{
protected string var1;
protected string var2;
protected string var3;
.
.
.
.
.
}


Ahora en algun lugar de mi codigo tengo un Objeto de tipo ClassName.

Y por otro lado tengo una especie de iterador que contiene strings
(casualmente los mismos nombres de las variables)...
y quisiera saber si es pocible "evaluar" ese objeto en esas cadenas com si
fueran las variables..
algo asi:
ClassName object = new ClassName(...)

for each Iterador.Item
object.[Iterador.Item.Name] = Iterador.Item.value;
seria cmo evaluar(Object, Iterador.Item.Name)

Donde Iterador.Item.Name = var1, var2, var3... (pero como string)...
Existe alguna forma de hacer esto, no se si me explico, si alguien me
pudiera ayudar..
Gracias a todos.
Michel



Preguntas similares