たとえば、「aaa」という名前の UserControl があります
それから私は変数を持っています:
Dim a as String = "aaa"
今、私は宣言します
Dim uc as UserControl = new aaa
私の質問は、以下のような変数 a の値を使用して上記の宣言を記述できますか
Dim uc as UserControl = new a
たとえば、「aaa」という名前の UserControl があります
それから私は変数を持っています:
Dim a as String = "aaa"
今、私は宣言します
Dim uc as UserControl = new aaa
私の質問は、以下のような変数 a の値を使用して上記の宣言を記述できますか
Dim uc as UserControl = new a
これは、リフレクション ( のSystem.Reflection
) 名前空間を使用して行うことができます。例えば:
Dim t As Type = Assembly.GetExecutingAssembly().GetType("namespace.aaa")
Dim o As Object = Activator.CreateInstance(t)
名前空間を含む完全な型名が必要になることに注意してください。たとえば、次のように、それを文字列に連結する必要がある場合があります。
Dim namespace As String = "MyNamespace"
Dim t As Type = Assembly.GetExecutingAssembly().GetType(namespace & "." & a)
Dim o As Object = Activator.CreateInstance(t)