Практическое руководство. Объявление объекта с помощью инициализатора объектов (Visual Basic)
Инициализаторы объектов позволяют объявлять и создавать экземпляр класса в одной инструкции. Кроме того, можно инициализировать один или несколько элементов экземпляра одновременно, не вызывая параметризованный конструктор.
При использовании инициализатора объектов для создания экземпляра именованного типа вызывается конструктор без параметров для класса, а затем инициализация назначенных элементов в указанном порядке.
В следующей Student
процедуре показано, как создать экземпляр класса тремя способами. Класс имеет имена, фамилию и свойства года класса, среди прочего. Каждое из трех объявлений создает новый экземпляр Student
, при First
этом свойство имеет значение "Michael", свойство Last
имеет значение "Tucker", а все остальные члены задают значения по умолчанию. Результат каждого объявления в процедуре эквивалентен следующему примеру, который не использует инициализатор объектов.
Dim student0 As New Student
With student0
.First = "Michael"
.Last = "Tucker"
End With
Сведения о реализации Student
класса см. в статье "Практическое руководство. Создание списка элементов". Вы можете скопировать код из этого раздела, чтобы настроить класс и создать список Student
объектов для работы.
Создание объекта именованного класса с помощью инициализатора объектов
Запустите объявление, как если бы вы планировали использовать конструктор.
Dim student1 As New Student
Введите ключевое слово
With
, за которым следует список инициализации в фигурных скобках.Dim student1 As New Student With { <initialization list> }
В списке инициализации добавьте каждое свойство, которое требуется инициализировать и назначить ему начальное значение. Имя свойства предшествует периоду.
Dim student1 As New Student With {.First = "Michael", .Last = "Tucker"}
Вы можете инициализировать один или несколько членов класса.
Кроме того, можно объявить новый экземпляр класса, а затем назначить ему значение. Сначала объявите экземпляр
Student
:Dim student2 As Student
Начните создание экземпляра
Student
обычным способом.Dim student2 As Student = New Student
Введите
With
и затем инициализатор объектов для инициализации одного или нескольких элементов нового экземпляра.Dim student2 As Student = New Student With {.First = "Michael", .Last = "Tucker"}
Определение можно упростить на предыдущем шаге, опущении
As Student
. При этом компилятор определяет, чтоstudent3
это экземпляр с помощью вывода локальногоStudent
типа.Dim student3 = New Student With {.First = "Michael", .Last = "Tucker"}
Дополнительные сведения см. в разделе "Вывод локальных типов".