Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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_List_Generics - Fatal编程技术网

Vb.net 创建指定类型的泛型列表

Vb.net 创建指定类型的泛型列表,vb.net,list,generics,Vb.net,List,Generics,我想创建一个泛型列表——但我想在运行时指定类型——有什么方法可以做到这一点吗?也许使用反射 像这样的 Public Shared Sub create(ByVal t As Type) Dim myList As New Generic.List(Of t) End Sub 提前谢谢 James如果调用方知道该类型,则可以将该方法本身设置为泛型: Public Shared Sub create(Of t)() Dim myList As New Generic.List(

我想创建一个泛型列表——但我想在运行时指定类型——有什么方法可以做到这一点吗?也许使用反射

像这样的

Public Shared Sub create(ByVal t As Type) 

  Dim myList As New Generic.List(Of t)

End Sub
提前谢谢


James

如果调用方知道该类型,则可以将该方法本身设置为泛型:

Public Shared Sub create(Of t)() 
    Dim myList As New Generic.List(Of t)
End Sub

如果调用者不知道类型,您将不得不求助于反射-以获取更多信息。

我有一个函数可以做到这一点:

Public Shared Function CreateList(Of T)(ByVal ParamArray items() As T) As List(Of T)
    Return New List(Of T)(items)
End Function
例如,我可以通过以下操作创建一个整数列表:

dim L as list(of Integer) = CreateList(1,2,3,4,5)
或者创建一个文本框列表:

dim L as list(of TextBox) = CreateList(txtPhone1, txtPhone2, txtPhone3)

或者一般来说,任何类型。

在这种情况下,请尝试System.Reflection.Emit。