У меня есть абстрактный класс - назовем его Base
. Этот класс содержит некоторые свойства. Более того, у меня есть другой класс, унаследованный от класса Base
- назовем его Child
. Child
не является абстрактным.
Я хочу получить доступ к свойствам из класса Base
с помощью Reflection, а только к тем свойствам, которые объявлены в Base
.
Следующий код, конечно, невозможен, потому что я не могу создать экземпляр абстрактного класса
Base base = new Base();
Type type = base.GetType();
PropertyInfo[] propInfos =
type.GetProperties(
BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly
);
Возможен следующий код, но я получаю все свойства, определенные в Base
, а также свойства, определенные в Child
.
Child child = new Child();
Type type = child.GetType();
PropertyInfo[] propInfos =
type.GetProperties(BindingFlags.Instance | BindingFlags.Public);
Как я могу получить все свойства класса Base
через Reflection?