Vb.net 通用类型的运算符?
现在我想看看Vb.net 通用类型的运算符?,vb.net,typeof,generics,generic-type-argument,Vb.net,Typeof,Generics,Generic Type Argument,现在我想看看list是否是list(Of T)变量: Dim x = GetType(List(Of )) 'valid statement Dim list As New List(Of String) 在最后一行,我得到了一个编译错误:“Type Expected” 泛型是否有廉价的性能TypeOf运算符替代方案?不幸的是,这是不可能的 您需要调用GetType()并选中IsGenericType和GetGenericTypeDefinition,您必须通过反射来执行此操作: Dim is
list
是否是list(Of T)
变量:
Dim x = GetType(List(Of )) 'valid statement
Dim list As New List(Of String)
在最后一行,我得到了一个编译错误:“Type Expected”
泛型是否有廉价的性能
TypeOf
运算符替代方案?不幸的是,这是不可能的
您需要调用
GetType()
并选中IsGenericType
和GetGenericTypeDefinition
,您必须通过反射来执行此操作:
Dim isList = TypeOf list Is List(Of )
参见Hanselman的博客:
GetType(T)-就是这么简单:)。Doh,抱歉。OP正在测试参数化列表类型。我点击这个QA寻找一个(T)类型的等价物,所以如果其他人像我一样被误导。。。
Dim type = list.[GetType]()
Dim isList = type.IsGenericType AndAlso
type.GetGenericTypeDefinition() = GetType(List(Of ))