Невозможно извлечь значение свойства, используя отражение

У меня есть два типа в этом сценарии - тип A и тип B. Тип A присутствует на более высоком уровне, а не там, где я реализую код ниже, и у него есть свойство типа B. Тип B определяется на уровне (нижний уровень, думаю, платформа), в которой я работаю. Я пытаюсь получить доступ к свойству типа A, которое относится к типу B. Если я правильно понимаю, с помощью отражения я смогу отразить тип A и получить этот объект (типа B) следующим образом

Type targetTypeA = instanceOfTypeA.GetType();
PropertyInfo someProperty = instanceOfTypeA.GetProperty("PropertyName"); // again just to clarify, the type of this property is 'B' and present in this layer that I'm working in.
object propertyValue = someProperty.GetValue(targetTypeA, null);

Метод GetValue() вызывает следующее исключение: System.Reflection.TargetException: "Объект не соответствует типу цели".

Я что-то здесь неправильно истолковываю?

1 ответ

Я передавал "Тип" вместо фактического экземпляра. Следующий код работает:

Type targetTypeA = instanceOfTypeA.GetType();
PropertyInfo someProperty = instanceOfTypeA.GetProperty("PropertyName"); // again just to clarify, the type of this property is 'B' and present in this layer that I'm working in.
object propertyValue = someProperty.GetValue(instanceOfTypeA, null);
Другие вопросы по тегам