我有一个班级
Public Class Class1
Private _Key As Integer
Private _Value As String
...
End Class
_key 和 _value 都有公共属性。然后我有一个通用列表
dim obj as New List(of Class1)
obj.count> 1 我可以使用反射毫无问题地获取属性
dim pi() As System.Reflection.PropertyInfo = obj(0).GetType().GetProperties() //or any valid index for what is worth.
但是当列表为空时,使用
dim pi() As System.Reflection.PropertyInfo = obj.GetType().GetProperties()
未获得键和值的属性。
如果列表是实例但是空( obj.count = 0 ),我如何获得这些属性(通过反射或任何其他方式)?
答案 0 :(得分:1)
Dim listType = myList.GetType()
Dim itemType = listType.GenericTypeArguments.First()
itemType
变量现在包含与您之前返回的Type
相同的obj(0).GetType()
。
请注意,GenericTypeArguments
属性适用于.NET 4.5或更高版本。