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


Перечисления и квалификация имен (Visual Basic)

Как правило, при обращении к элементу перечисления необходимо сопроводить имя члена именем перечисления. Например, чтобы ссылаться на Sunday член перечисления Days, можно использовать следующий синтаксис:

X = Days.Sunday

Использование инструкции Import

Вы можете избежать использования полных имен, добавив инструкцию Imports в раздел объявлений пространства имен кода, как показано в следующем примере:

Imports WindowsApplication1.Form1.Days
Imports WindowsApplication1.Form1.WorkDays

Оператор Imports импортирует имена пространства имен из ссылочных проектов и сборок, а также из того же проекта, что и модуль, в котором имеется оператор. После добавления этой инструкции можно ссылаться на члены перечисления без квалификации, как показано в следующем примере:

X = Sunday

Упорядочение наборов связанных констант в перечислениях позволяет использовать одинаковые имена констант в разных контекстах. Например, можно использовать те же названия для констант дней недели в перечислениях Days и WorkDays. Если вы используете оператор Imports с перечислениями, необходимо быть осторожными во избежание двусмысленных ссылок. Рассмотрим следующий пример:

Imports WindowsApplication1.Form1.Days
Imports WindowsApplication1.Form1.WorkDays
Public Sub New()
    ' Insert code to implement constructor.
    X = Monday
End Sub

Предполагая, что Monday является членом как Days перечисления, так и Workdays перечисления, этот код вызывает ошибку компилятора. Чтобы избежать неоднозначных ссылок при обращении к отдельной константе, укажите имя константы с его перечислением. Следующий код ссылается на Saturday константы в Days и WorkDays перечислениях.

X = Days.Saturday
Y = WorkDays.Saturday

См. также