意外とややこしいvb.net or C#のGenerics型判定。
[VB.net]
Dim a As New List(Of String)() Dim t As Type = a.GetType() If t.IsGenericType AndAlso t.GetGenericTypeDefinition() = GetType(List(Of )) Then ' オブジェクトaはGenerics型List Elese ' 以外 End If
[C#]
object a = new List() {}; if (typeof(List<>).IsAssignableFrom( a.GetType().GetGenericTypeDefinition())) { // オブジェクトaはGenerics型List } else { // 以外 }