我有以下代码来获取集合的对象类型:
Dim objType As Type = myCollection.[GetType]().GetProperty("Item").PropertyType
该行似乎有效,但后来我需要将集合转换为指定集合类型的数据表,将对象类型作为参数传递的正确方法是什么?
我正在尝试:
DataTableCollectionConverter.ConvertToDataTable(Of objType)(myCollection)
但它甚至没有被识别为有效代码
我正在使用VS 2005,Net 2.0
提前致谢。
答案 0 :(得分:1)
您不能将变量(甚至类型为Type
)用作泛型的类型参数。它们必须预先编译,而不是在运行时编译。这就是编译器抱怨的原因。
您必须使用该方法的弱类型版本,以某种方式依赖反射或使用switch语句为泛型方法提供正确的类型参数。