Практическое руководство: объявление структуры (Visual Basic)
Вы начинаете объявление структуры с оператора Structure Statementи завершаете его оператором End Structure
. Между этими двумя операторами необходимо объявить как минимум один элемент . Элементы могут иметь любой тип данных, но по крайней мере один из них должен быть необщей переменной или событием, отличным от общего доступа.
Невозможно инициализировать любой из элементов структуры в объявлении структуры. При объявлении переменной типа структуры вы назначаете значения элементам, обращаюсь к ним через переменную.
Обсуждение различий между структурами и классами см. в разделе Структуры и классы.
В целях демонстрации рассмотрим ситуацию, в которой вы хотите отслеживать имя сотрудника, телефонный внутренний номер и зарплату. Структура позволяет выполнять это в одной переменной.
Объявить структуру
Создайте начальные и конечные утверждения для структуры.
Уровень доступа структуры можно указать с помощью ключевого слова Public, Protected, Friendили Private, или оставить по умолчанию
Public
.Private Structure employee End Structure
Добавьте элементы в тело структуры.
Структура должна иметь по крайней мере один элемент. Необходимо объявить каждый элемент и указать для него уровень доступа. Если вы используете инструкцию Dim без ключевых слов, доступность по умолчанию
Public
.Private Structure employee Public givenName As String Public familyName As String Public phoneExtension As Long Private salary As Decimal Public Sub giveRaise(raise As Double) salary *= raise End Sub Public Event salaryReviewTime() ' Method to raise the event Public Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub End Structure
Поле
salary
в предыдущем примере —Private
, что означает, что он недоступен вне структуры, даже из содержащего класса. Однако процедураgiveRaise
Public
, поэтому ее можно вызывать извне структуры. Аналогичным образом можно вызвать событиеsalaryReviewTime
косвенно путем вызова метода в структуре, которая вызывает его. Например:Public Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub
Это позволяет управлять тем, как и когда событие вызывается, сохраняя событие недоступно непосредственно извне структуры.
Помимо переменных,
Sub
процедур и событий можно также определять константы,Function
процедуры и свойства в структуре. Можно назначить по крайней мере одно свойство в качестве свойства по умолчанию, если он принимает по крайней мере один аргумент. Событие можно обрабатывать с помощью общей процедурыSub
. Дополнительные сведения см. в разделе Практическое руководство. Объявление и вызов свойства по умолчанию в Visual Basic.