usando Reflection con non-static Property

15/08/2006 - 17:51 por alf | Informe spam
en el sgte codigo recibo el error: "Object does not match target type" al
usar SetValue. porque ??
el objeto que estoy pasando es derivado de una clasa abstracta pura y la
propiedad MyProperty es virtual.
El objeto esta creado con new antes de pasarlo a esta funcion y tiene valor
en la propiedad que queiro modificar. esta propiedad es get/set.

static public int t_EntityUpdate(object t_Entity, string newValue)
{
Type objType = t_Entity.GetType();
PropertyInfo fieldProperty = objType.GetProperty("MyProperty",
BindingFlags.Public | BindingFlags.Instance);

try
{
fieldProperty.SetValue(objType, newValue, null);
}
catch (Exception e)
{
}
return 1;
}

saludos y gracias, alf.

Preguntas similare

Leer las respuestas

#1 Jose Escrich
15/08/2006 - 17:00 | Informe spam
Hola alf,

en lugar de pasarle objType que es el type, debes pasarle una instancia de
ese Type lo puedes hacer por ejemplo con

object myInstance = Activator.CreateInstance(objType);

saludos,

Jose Escrich
mailto: jescrich -a- gmail.com
http://latincoder.com

a> objType
a>
Respuesta Responder a este mensaje
#2 Octavio Hernandez
15/08/2006 - 19:44 | Informe spam
alf,

¿La propiedad MyProperty es de tipo string?

Slds - Octavio


"alf" escribió en el mensaje
news:
en el sgte codigo recibo el error: "Object does not match target type" al
usar SetValue. porque ??
el objeto que estoy pasando es derivado de una clasa abstracta pura y la
propiedad MyProperty es virtual.
El objeto esta creado con new antes de pasarlo a esta funcion y tiene
valor en la propiedad que queiro modificar. esta propiedad es get/set.

static public int t_EntityUpdate(object t_Entity, string newValue)
{
Type objType = t_Entity.GetType();
PropertyInfo fieldProperty = objType.GetProperty("MyProperty",
BindingFlags.Public | BindingFlags.Instance);

try
{
fieldProperty.SetValue(objType, newValue, null);
}
catch (Exception e)
{
}
return 1;
}

saludos y gracias, alf.

Respuesta Responder a este mensaje
#3 alf
15/08/2006 - 20:00 | Informe spam
me parece que el problema viene porque solo se puede llamar a propiedades
estaticas ... crees que sea eso ??


"Jose Escrich" wrote in message
news:
Hola alf,

en lugar de pasarle objType que es el type, debes pasarle una instancia de
ese Type lo puedes hacer por ejemplo con
object myInstance = Activator.CreateInstance(objType);

saludos,

Jose Escrich
mailto: jescrich -a- gmail.com
http://latincoder.com

a> objType
a>

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