Duplicar posible:
Can I set a property value with Reflection?Establecer valor de la propiedad nombre utilizando la propiedad
¿Cómo se configura una propiedad estática de una clase utilizando la reflexión cuando sólo tengo su nombre cadena de la propiedad? Por ejemplo, tengo:
List<KeyValuePair<string, object>> _lObjects = GetObjectsList();
foreach(KeyValuePair<string, object> _pair in _lObjects)
{
//class have this static property name stored in _pair.Key
Class1.[_pair.Key] = (cast using typeof (_pair.Value))_pair.Value;
}
No sé cómo debo establecer el valor de la propiedad usando la cadena del nombre de la propiedad. Todo es dinámico Podría establecer 5 propiedades estáticas de una clase usando 5 elementos en la lista que tienen diferentes tipos.
Gracias por su ayuda.
Respuesta:
Type _type = Type.GetType("Namespace.AnotherNamespace.ClassName");
PropertyInfo _propertyInfo = _type.GetProperty("Field1");
_propertyInfo.SetValue(_type, _newValue, null);