Приведение отраженных объектов не работает
Привет, Эксперты!
У меня небольшая проблема.
Я хочу манипулировать отраженным объектом, но я слишком глуп, чтобы использовать этот тип данных :(
Пожалуйста, помогите мне :)
Это моя идея:
Но это не работает
myObjectFromDB = GetFromDB(); // Get the object via Entity Framework form DB for(...) { //item.Key = myPropertyName; //item.Value = true (as string) // The property 'myPropertyName' is in my DB a nullable bool PropertyInfo propInfo = typeof(myObject).GetProperty(item.Key); dynamic property = propInfo.GetValue(myObjectFromDB, null); dynamic propertyType = property.GetType(); dynamic newVal = item.Value; Convert.ChangeType(newVal, propertyType); propInfo.SetValue(myObjectFromDB, newVal); // The propInfo.SetValue throws the error! // Error: Das Objekt mit dem Typ "System.String" kann nicht in den Typ "System.Nullable`1[System.Boolean]" konvertiert werden. //-> Can´t convert the Object from String to Boolean }
Что я уже пробовал:
какие-то глупости, но это не работает
StM0n
Прежде всего, почему вы используете dynamic? Имхо, в этом нет особой необходимости... по крайней мере, сформулируйте мою точку зрения, но я могу ошибаться.
Угадайте, что значение, которое вы пытаетесь преобразовать, на самом деле не конвертируется... :) получаете ли вы "фальш" или "Вар" через свою БД?
BoySetsFire
Привет &амп; Спасибо за ваш ответ... динамика исходит из тестирования... если я бросаю вручную, это работает как convert.tobool(val)
тип данных в БД немного
br,
Бенни
StM0n
Так что, возможно, вам стоит провести несколько тестов с конверсией, чтобы получить правильную информацию :)