2012-06-14 111 views
0

我有以下的代碼,來收集的對象類型:如何在泛型方法中指定對象類型?

Dim objType As Type = myCollection.[GetType]().GetProperty("Item").PropertyType 

該行似乎工作,但後來我需要收集轉換成一個DataTable指定集合類型,什麼是正確的方式來傳遞對象類型作爲參數?

我想:

DataTableCollectionConverter.ConvertToDataTable(Of objType)(myCollection) 

,但它甚至沒有被識別爲有效代碼

我使用VS 2005,提前淨2.0

感謝。

回答

1

作爲泛型的類型參數,不能使用變量,即使類型爲Type。它們必須預先編譯,而不是在運行時編譯。這就是編譯器抱怨的原因。

您必須使用該方法的弱類型版本,以某種方式依賴反射或使用switch語句爲泛型方法提供正確的類型參數。

+0

謝謝!然後我會用另一種方法 –

相關問題