Возможный дубликат:
Можно ли задать значение свойства с помощью Reflection?
Как установить статическое свойство класса с использованием отражения, когда у меня есть только его имя для свойства? Например, у меня есть:
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;
}
Я не знаю, как я должен установить значение свойства, используя строку имени свойства. Все динамично. Я мог бы установить 5 статических свойств класса, используя 5 элементов в списке, каждый из которых имеет разные типы.
Спасибо за вашу помощь.
Ответ:
Type _type = Type.GetType("Namespace.AnotherNamespace.ClassName");
PropertyInfo _propertyInfo = _type.GetProperty("Field1");
_propertyInfo.SetValue(_type, _newValue, null);