2011-01-05 94 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