我想创建一个通用列表 - 但我想在运行时指定类型 - 有没有办法可以做到这一点?或许使用反思?
像这样......
Public Shared Sub create(ByVal t As Type)
Dim myList As New Generic.List(Of t)
End Sub
提前致谢
詹姆斯
答案 0 :(得分:2)
如果调用者知道类型,您可以使方法本身通用:
Public Shared Sub create(Of t)()
Dim myList As New Generic.List(Of t)
End Sub
如果来电者不知道类型,您将不得不求助于反思 - see the accepted answer to this question以获取更多信息。
答案 1 :(得分:0)
我有一个功能就是这样做:
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)
或者一般来说,任何类型。