【发布时间】:2010-09-21 03:27:54
【问题描述】:
如果直到运行时才知道通用列表的类型,有谁知道如何迭代该列表?
例如,假设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 作为List(Of String) 传递,那么使用上面的方法我可以确定一个通用列表(t)被传递并且它的类型是String(typeParam)。我知道我做了一个很大的假设,即只有一个通用参数,但这对于这个简单的示例来说很好。
我想知道的是,基于以上内容,我该如何做这样的事情:
For Each item As typeParam In obj1
'do something with it here
Next
或者甚至像获取obj1.Count() 这样简单的事情。
【问题讨论】:
标签: vb.net generics ienumerable