Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 通用类型的运算符?_Vb.net_Typeof_Generics_Generic Type Argument - Fatal编程技术网

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 ))