如何在列表为空时遍历自定义vb.net列表对象的每个属性?

时间:2016-05-16 04:47:47

标签: c# vb.net

我有一个班级

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 ),我如何获得这些属性(通过反射或任何其他方式)?

1 个答案:

答案 0 :(得分:1)

Dim listType = myList.GetType()
Dim itemType = listType.GenericTypeArguments.First()

itemType变量现在包含与您之前返回的Type相同的obj(0).GetType()

请注意,GenericTypeArguments属性适用于.NET 4.5或更高版本。