Dim TestObject As TestObjectType.GetType
GetType
名前空間で指定された型を探しますTestObjectType
。
を使用してクラスのインスタンスを作成するにはSystem.Type
、次を使用できますActivator.CreateInstance
。
Dim TestObject = Activator.CreateInstance(TestObjectType.GetType())
一般的なリストを作成するには、次を使用できますType.MakeGenericType
。
Dim listType = GetType(List(Of )).MakeGenericType(TestObjectType.GetType())
Dim list = Activator.CreateInstance(listType)
上記の両方のスニペットがObject
;を返すことに注意してください。ただし、ジェネリックを使用してコンパイル時の安全性を実現できます。
Dim TestObject = CreateNew(TestObjectType)
Dim AuthorList = CreateNewList(TestObjectType)
...
Function CreateNew(Of T As New)(obj As T) As T
Return New T()
End Function
Function CreateNewList(Of T)(obj As T) As List(Of T)
Return New List(Of T)
End Function