有两个类
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的对象实例