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


Практическое руководство. Объявление объекта с помощью инициализатора объектов (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"}
    

    Дополнительные сведения см. в разделе Вывод локального типа (Visual Basic).

См. также

Задачи

Практическое руководство. Создание списка элементов

Основные понятия

Вывод локального типа (Visual Basic)

Инициализаторы объектов: именованные и анонимные типы (Visual Basic)

Анонимные типы (Visual Basic)