Спасибо, это действительно помогло мне в крайнем случае сегодня. У меня была сохранена информация аудита, но с неправильным регистром в именах свойств. (Аудит встроен в слой данных.) В любом случае мне пришлось добавить IgnoreCase в качестве флага привязки, но тогда он все еще не работал, пока мой коллега не нашел этот ответ. Полученная функция:
public static void SetProperty(Object R, string propertyName, object value)
{
Type type = R.GetType();
object result;
result = type.InvokeMember(
propertyName,
BindingFlags.SetProperty |
BindingFlags.IgnoreCase |
BindingFlags.Public |
BindingFlags.Instance,
null,
R,
new object[] { value });
}
Это часть класса, который я называю DotMagic.