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