2011-01-05 91 views
1
Dim x = GetType(List(Of)) 'valid statement 
Dim list As New List(Of String) 

现在我想看看是否listList(Of T)变量:泛型TypeOf运算符?

Dim isList = TypeOf list Is List(Of) 

在最后一行我得到一个编译错误:“类型的预期”。

是否有任何便宜的性能TypeOf运算符替代泛型?

回答

4

你将不得不与反思这样做:

Dim type = list.[GetType]() 
Dim isList = type.IsGenericType AndAlso 
    type.GetGenericTypeDefinition() = GetType(List(Of)) 
1

不幸的是,这是不可能的。

您需要致电GetType()并检查IsGenericTypeGetGenericTypeDefinition

+0

+1表示'不幸'。 – Shimmy 2011-01-05 02:54:32

相关问题