以下はConstructorInfoを使ってコンストラクタを呼び出し、インスタンスを作成・初期化する例です。 ConstructorInfo.Invokeメソッドを呼び出す際にはインスタンスを指定する必要がない点、作成されたインスタンスは戻り値として返される点を除けば、MethodInfo.Invokeメソッドと変わりありません。

ConstructorInfoを使ってコンストラクタを呼び出し、インスタンスを作成する
Imports System
Imports System.Reflection

Class C
  Private str As String = "Hello, world!"

  Public Sub New()
  End Sub

  Public Sub New(ByVal str As String)
    Me.str = str
  End Sub

  Public Overrides Function ToString() As String
    Return str
  End Function
End Class

Class Sample
  Shared Sub Main()
    Dim t As Type = GetType(C)

    Dim inst As Object


    ' 引数を持たないコンストラクタのConstructorInfoを取得する
    Dim c1 As ConstructorInfo = t.GetConstructor(Type.EmptyTypes)

    ' コンストラクタを呼び出してインスタンスを作成する
    inst = c1.Invoke(Nothing)

    Console.WriteLine(inst)

    ' String型の引数を1つとるコンストラクタのConstructorInfoを取得する
    Dim c2 As ConstructorInfo = t.GetConstructor(New Type() {GetType(String)})

    ' コンストラクタを呼び出してインスタンスを作成する
    inst = c2.Invoke(New Object() {"Hello, instance!"})

    Console.WriteLine(inst)
  End Sub
End Class
実行結果
Hello, world!
Hello, instance!

コンストラクタ呼び出しの結果例外が発生した場合、TargetInvocationExceptionがスローされます。 実際にスローされた例外を取得する方法などについて詳細は§.呼び出し時の例外 (TargetInvocationException)を参照してください。