(Reflection)PropertyInfo.GetValue and PropertyInfo.SetValue Methods - C#
Формулировка задачи:
Доброе время суток!
Собственно вопрос:
Есть обьект(objA) унаследовавший свойство от интерфейса.
А также есть массив(masA) формата: "Имя свойства"(string) - "значение"(типа соответсвующего данному свойству).
Нужно установить свойства обьекта "objA" соответственно из массива "masA"
Делаю так(код пишу по памяти, надеюсь понятен смысл):
!!! Всё отлично работает, но как быть если "значение" -- содержит ссылку на другой обьект???
Также если вероятность того, что свойсто objA уже установлено, в этом случаи установно на новое значение не трубуется,я пытаюсь взять значение этого поля и проверить, но тут столкниулся с проблемой:
но тут выскакивает исключение, мол objB должен быть определённого типа (TargetException
The object does not match the target type, or a property is an instance property but obj is null.)
!!!Гуру, помогите, как это реализовать???
P.S.
Как мог объяснил задачу, если что не понятно спрашивайте. Спасибо.
foreach (Value V in мasA) { objA.GetType().GetProperty(V[0]).SetValue(objA, V[1]); }
object objB = new object(); objA.GetType().GetProperty(V[0]).GetValue(objB, null);
Решение задачи: «(Reflection)PropertyInfo.GetValue and PropertyInfo.SetValue Methods»
textual
Листинг программы
objA.GetType().GetProperty(V[0]).PropertyType
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д