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


Практическое руководство: объявление структуры (Visual Basic)

Вы начинаете объявление структуры с оператора Structure Statementи завершаете его оператором End Structure. Между этими двумя операторами необходимо объявить как минимум один элемент . Элементы могут иметь любой тип данных, но по крайней мере один из них должен быть необщей переменной или событием, отличным от общего доступа.

Невозможно инициализировать любой из элементов структуры в объявлении структуры. При объявлении переменной типа структуры вы назначаете значения элементам, обращаюсь к ним через переменную.

Обсуждение различий между структурами и классами см. в разделе Структуры и классы.

В целях демонстрации рассмотрим ситуацию, в которой вы хотите отслеживать имя сотрудника, телефонный внутренний номер и зарплату. Структура позволяет выполнять это в одной переменной.

Объявить структуру

  1. Создайте начальные и конечные утверждения для структуры.

    Уровень доступа структуры можно указать с помощью ключевого слова Public, Protected, Friendили Private, или оставить по умолчанию Public.

    Private Structure employee  
    End Structure  
    
  2. Добавьте элементы в тело структуры.

    Структура должна иметь по крайней мере один элемент. Необходимо объявить каждый элемент и указать для него уровень доступа. Если вы используете инструкцию 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, что означает, что он недоступен вне структуры, даже из содержащего класса. Однако процедура giveRaisePublic, поэтому ее можно вызывать извне структуры. Аналогичным образом можно вызвать событие salaryReviewTime косвенно путем вызова метода в структуре, которая вызывает его. Например:

    Public Sub TriggerSalaryReview()
        RaiseEvent salaryReviewTime()
    End Sub
    

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

    Помимо переменных, Sub процедур и событий можно также определять константы, Function процедуры и свойства в структуре. Можно назначить по крайней мере одно свойство в качестве свойства по умолчанию, если он принимает по крайней мере один аргумент. Событие можно обрабатывать с помощью общей процедуры Sub. Дополнительные сведения см. в разделе Практическое руководство. Объявление и вызов свойства по умолчанию в Visual Basic.

См. также