当前位置: 代码迷 >> VB Dotnet >> “多重反射”有关问题
  详细解决方案

“多重反射”有关问题

热度:77   发布时间:2016-04-25 02:12:57.0
“多重反射”问题
有两个类

class A
        Public Shared ReadOnly Property ProA As Boolean
            Get
                Return 1
            End Get
        End Property
end class
class B
       Private _ClsA as A
        Public Shared ReadOnly Property ClsA As A
            Get
                Return _ClsA 
            End Get
        End Property
end Class

现在有一个B的实例ObjB,我想通过它得到A中ProA的值。
出于某种原因,使用GetProperties进行反射并且保存结果到字典,而不是GetPropert。
1、从ObjB获取ClsA并保存全部属性反射结果
Dim arr As PropertyInfo() = ObjB.GetType.GetProperties
        Dim dict As New Dictionary(Of String, PropertyInfo)
        For Each ar As PropertyInfo In arr
            dict.Add(ar.Name.ToString, ar)
        Next
2、进一步反射A的ProA属性,同样也保存反射结果到字典。
       Dim a1 As PropertyInfo() = dict("ClsA ").PropertyType.GetProperties
       Dim d1 As New Dictionary(Of String, PropertyInfo)
        For Each ar1 As PropertyInfo In a1
           d1.Add(ar1.Name.ToString, ar1)
        Next
3、调用GetValue
     dim val as string =d1("ProA").GetValue(将返回其属性值的对象, Nothing).tostring
将返回其属性值的对象这里应该如何传入?

------解决方案--------------------
A的对象实例
  相关解决方案