Dim x = GetType(List(Of)) 'valid statement
Dim list As New List(Of String)
現在我想看看是否list
是List(Of T)
變量:泛型TypeOf運算符?
Dim isList = TypeOf list Is List(Of)
在最後一行我得到一個編譯錯誤:「類型的預期」。
是否有任何便宜的性能TypeOf
運算符替代泛型?
Dim x = GetType(List(Of)) 'valid statement
Dim list As New List(Of String)
現在我想看看是否list
是List(Of T)
變量:泛型TypeOf運算符?
Dim isList = TypeOf list Is List(Of)
在最後一行我得到一個編譯錯誤:「類型的預期」。
是否有任何便宜的性能TypeOf
運算符替代泛型?
你將不得不與反思這樣做:
Dim type = list.[GetType]()
Dim isList = type.IsGenericType AndAlso
type.GetGenericTypeDefinition() = GetType(List(Of))
不幸的是,這是不可能的。
您需要致電GetType()
並檢查IsGenericType
和GetGenericTypeDefinition
。
見Hanselman的博客:http://www.hanselman.com/blog/TheVBEquivalentToCTypeofKeyword.aspx
的GetType(T) - 就是這麼簡單:)。
道歉,道歉。 OP正在測試參數化列表類型。我打這個QA尋找一個類型(T)的等價物,所以如果其他人像我一樣誤導了... – bkrakower 2015-09-22 12:31:11
+1表示'不幸'。 – Shimmy 2011-01-05 02:54:32