Отражение .NET - Получить объявление класса из свойства экземпляра. - PullRequest
3 голосов
/ 16 февраля 2011

Возможно ли получить тип класса из экземпляра свойства

Я попробовал следующее

var model = new MyModel("SomeValueForMyProperty")

Type declaringType = model.MyProperty.GetType().DeclaringType

Но результат всегда не для обоих DeclaringType и ReflectedType

1 Ответ

1 голос
/ 16 февраля 2011

Нет прямой ссылки от Type на класс, объявляющий свойство этого типа.

Вам нужно будет использовать PropertyInfo:

PropertyInfo propInfo = model.GetType().GetProperty("MyProperty");

// get the property value:
object value = propInfo.GetValue(model, null);
// get the property's declaring type:
Type declaringType = propInfo.DeclaringType;
...