Я хочу преобразовать строку в значение свойства объекта, имя которой у меня есть как строка. Я пытаюсь сделать это так:
string modelProperty = "Some Property Name";
string value = "SomeValue";
var property = entity.GetType().GetProperty(modelProperty);
if (property != null) {
property.SetValue(entity,
Convert.ChangeType(value, property.PropertyType), null);
}
Проблема заключается в том, что это ошибка и бросание Invalid Cast Exception, когда тип свойства является типом с нулевым значением. Это не тот случай, когда значения не могут быть преобразованы - они будут работать, если я сделаю это вручную (например, DateTime? d = Convert.ToDateTime(value);
). Я видел некоторые похожие вопросы, но до сих пор не могу заставить его работать.