0

I have the following code to get the object type of a collection:

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

That line seems to work, but then I need to convert the collection to a datatable specifying the type of the collection, what is the correct way to pass the object type as parameter?

I'm trying:

DataTableCollectionConverter.ConvertToDataTable(Of objType)(myCollection)

but it is not even recognized as valid code

I'm using VS 2005, Net 2.0

Thanks in advance.

4

1 に答える 1

1

Typeジェネリックスの型パラメーターとして、型であっても変数を使用することはできません。それらは、実行時ではなく、事前にコンパイルする必要があります。コンパイラが文句を言っているのはそのためです。

そのメソッドの弱い型のバージョンを使用するか、何らかの方法でリフレクションに依存するか、switchステートメントを使用してジェネリックメソッドに適切な型パラメーターを提供する必要があります。

于 2012-06-14T17:22:05.460 に答える