Объявление динамического объекта в VB.NET: методы и примеры кода

Чтобы динамически объявлять объекты в VB.NET, вы можете использовать ключевое слово Dimвместе с функцией GetTypeили методом Activator.CreateInstance. Вот несколько методов с примерами кода:

  1. Использование GetType и Activator.CreateInstance:

    Dim objectType As Type = GetType(MyClass)
    Dim obj As Object = Activator.CreateInstance(objectType)
  2. Использование Type.GetType и Activator.CreateInstance:

    Dim typeName As String = "Namespace.MyClass"
    Dim objectType As Type = Type.GetType(typeName)
    Dim obj As Object = Activator.CreateInstance(objectType)
  3. Использование Activator.CreateInstance с аргументами конструктора:

    Dim objectType As Type = GetType(MyClass)
    Dim constructorArgs() As Object = {arg1, arg2, arg3}
    Dim obj As Object = Activator.CreateInstance(objectType, constructorArgs)
  4. Использование Activator.CreateInstance с закрытым конструктором:

    Dim objectType As Type = GetType(MyClass)
    Dim bindingFlags As BindingFlags = BindingFlags.Instance Or BindingFlags.NonPublic
    Dim obj As Object = Activator.CreateInstance(objectType, bindingFlags, Nothing, Nothing, Nothing)
  5. Использование Activator.CreateInstance с универсальным типом:

    Dim genericType As Type = GetType(List(Of ))
    Dim specificType As Type = genericType.MakeGenericType(GetType(MyClass))
    Dim obj As Object = Activator.CreateInstance(specificType)