如何按类型获取所有类属性?

时间:2012-03-19 15:09:10

标签: vb.net reflection interface

如何获取实现特定基类或接口的类的所有属性?

我有一个包含其他几个属性类的属性类。这些类中的一些(而非全部)实现了接口。我想知道是否可以迭代实现目标接口的子类的父类的所有属性。

听起来像是反思的工作?我只是不确定如何。可以通过“PropertyInfo”对象完成吗?还是我在错误的树上吠叫?

1 个答案:

答案 0 :(得分:2)

您可以在PropertyInfo PropertyType上使用IsAssignableFrom

For Each prop In Me.GetType().GetProperties()
    If prop.PropertyType.IsAssignableFrom(GetType(YourInterface)) Then
        ' do something '
    End If
Next