Поделиться через


Практическое руководство. Объявление объекта с помощью инициализатора объектов (Visual Basic)

Инициализаторы объектов позволяют объявлять и создавать экземпляр класса в одной инструкции. Кроме того, можно инициализировать один или несколько элементов экземпляра одновременно, не вызывая параметризованный конструктор.

При использовании инициализатора объектов для создания экземпляра именованного типа вызывается конструктор без параметров для класса, а затем инициализация назначенных элементов в указанном порядке.

В следующей Student процедуре показано, как создать экземпляр класса тремя способами. Класс имеет имена, фамилию и свойства года класса, среди прочего. Каждое из трех объявлений создает новый экземпляр Student, при First этом свойство имеет значение "Michael", свойство Last имеет значение "Tucker", а все остальные члены задают значения по умолчанию. Результат каждого объявления в процедуре эквивалентен следующему примеру, который не использует инициализатор объектов.

Dim student0 As New Student
With student0
    .First = "Michael"
    .Last = "Tucker"
End With

Сведения о реализации Student класса см. в статье "Практическое руководство. Создание списка элементов". Вы можете скопировать код из этого раздела, чтобы настроить класс и создать список Student объектов для работы.

Создание объекта именованного класса с помощью инициализатора объектов

  1. Запустите объявление, как если бы вы планировали использовать конструктор.

    Dim student1 As New Student

  2. Введите ключевое словоWith, за которым следует список инициализации в фигурных скобках.

    Dim student1 As New Student With { <initialization list> }

  3. В списке инициализации добавьте каждое свойство, которое требуется инициализировать и назначить ему начальное значение. Имя свойства предшествует периоду.

    Dim student1 As New Student With {.First = "Michael", 
                                      .Last = "Tucker"}
    

    Вы можете инициализировать один или несколько членов класса.

  4. Кроме того, можно объявить новый экземпляр класса, а затем назначить ему значение. Сначала объявите экземпляр Student:

    Dim student2 As Student

  5. Начните создание экземпляра Student обычным способом.

    Dim student2 As Student = New Student

  6. Введите With и затем инициализатор объектов для инициализации одного или нескольких элементов нового экземпляра.

    Dim student2 As Student = New Student With {.First = "Michael", 
                                                .Last = "Tucker"}
    
  7. Определение можно упростить на предыдущем шаге, опущении As Student. При этом компилятор определяет, что student3 это экземпляр с помощью вывода локального Student типа.

    Dim student3 = New Student With {.First = "Michael", 
                                     .Last = "Tucker"}
    

    Дополнительные сведения см. в разделе "Вывод локальных типов".

См. также