Как получить все свойства класса по типу? - PullRequest
1 голос
/ 19 марта 2012

Как я могу получить все свойства класса, которые реализуют определенный базовый класс или интерфейс?

У меня есть класс свойств, который содержит несколько других классов свойств.Некоторые, не все из этих классов реализуют интерфейс.Я хотел бы знать, возможно ли перебрать все свойства родительского класса для дочерних классов, которые реализуют целевой интерфейс.

Звучит как работа для размышлений?Я просто не знаю как.Это можно сделать с помощью объекта PropertyInfo?Или я лаю не на том дереве?

1 Ответ

2 голосов
/ 19 марта 2012

Вы можете использовать IsAssignableFrom на PropertyInfo PropertyType:

For Each prop In Me.GetType().GetProperties()
    If prop.PropertyType.IsAssignableFrom(GetType(YourInterface)) Then
        ' do something '
    End If
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...