Кто-нибудь знает, как перебирать общий список, если тип этого списка неизвестен до выполнения?Итерировать через общий список неизвестного типа во время выполнения в VB.Net
Например, предположим 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()
.