如果直到运行时才知道该列表的类型,有谁知道如何迭代通用列表?
例如,假设obj1
作为Object
:
Dim t As Type = obj1.GetType
If t.IsGenericType Then
Dim typeParameters() As Type = t.GetGenericArguments()
Dim typeParam As Type = typeParameters(0)
End If
如果obj
作为 a 传递,List(Of String)
则使用上面的方法我可以确定t
传递了一个通用列表 ( ) 并且它的类型是String
( typeParam
)。我知道我做了一个很大的假设,即只有一个通用参数,但这对于这个简单的示例来说很好。
我想知道的是,基于上述情况,我该如何做这样的事情:
For Each item As typeParam In obj1
'do something with it here
Next
甚至是像获取一样简单的东西obj1.Count()
。