Описывает имя, аргументы и текст программы, составляющий тело процедуры Property, которая принимает значение свойства.
[Public | Private] [Static] Property Get имя [(списокАргументов)] [As тип] [инструкции] [имя = выражение] [Exit Property] [инструкции] [имя = выражение] End Property
Параметры
Public
Необязательный. Указывает, что процедура
Property Get доступна для всех других процедур во всех модулях. При
использовании в личном модуле (модуле, который содержит инструкцию Option
Private) такая процедура является недоступной вне
проекта.
Private
Необязательный. Указывает, что процедура
Property Get доступна для других процедур только того модуля, в котором
она описана.
Static
Необязательный. Указывает, что локальные
переменные процедуры Property Get сохраняются в промежутках времени между
вызовами этой процедуры. Атрибут Static не действует на переменные,
описанные вне процедуры Property Get, даже если они используются в этой
процедуре.
имя
Обязательный. Имя процедуры Property Get,
удовлетворяющее стандартным правилам именования переменных, за исключением того,
что это имя может совпадать с именем процедуры Property Let или
Property Set из этого же
модуля.
списокАргументов
Необязательный. Список переменных,
представляющий аргументы, которые передаются в процедуру Property Get при
ее вызове. Имена нескольких переменных разделяются запятыми. Имя и тип данных
каждого аргумента процедуры Property Get должны совпадать с
соответствующими аргументами процедуры Property Let (если она
имеется).
Optional Необязательный. Указывает, что этот аргумент необязателен. При использовании этого элемента все последующие аргументы, которые содержит списокАргументов, также должны быть необязательными и быть описаны с помощью ключевого слова Optional. ByVal Необязательный. Указывает, что этот аргумент передается по значению. ByRef Необязательный. Указывает, что этот аргумент передается по ссылке. Описание ByRef используется в Visual Basic по умолчанию. имяПеременной Обязательный. Имя переменной, удовлетворяющее стандартным правилам именования переменных. тип Необязательный. Тип данных аргумента, передаваемого в процедуру; допускаются типы Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (в настоящее время не поддерживается), Date, String (только строки переменной длины), Object, Variant. Если отсутствует ключевое слово Optional, могут быть также указаны определяемый пользователем тип или объектный тип. поУмолчанию Необязательный. Любая константа или выражение, дающее константу. Используется только вместе с параметром Optional. Если указан тип Object, единственным значением по умолчанию может быть значение Nothing.
Замечания
Процедуры Property, тип которых не указан явно с помощью
слов Public или Private, являются общими по умолчанию. Если не
используется слово Static, значения локальных переменных не сохраняются
между вызовами процедур.
Все выполняемые команды должны находиться в
процедурах. Не допускается определение процедуры Property Get внутри
другой процедуры Property, Sub или Function.
Инструкция
Exit Property вызывает немедленный выход из процедуры Property
Get. Выполнение программы продолжается с инструкции, следующей за
инструкцией вызова процедуры Property Get. В любом месте процедуры
Property Get допускается любое число инструкций Exit
Property.
Подобно процедурам Sub и Property Let, процедура
Property Get является самостоятельной процедурой, которая может получать
аргументы, выполнять последовательность инструкций и изменять значения своих
аргументов. Однако в отличие от процедуры Sub или Property Let,
возможно использование процедуры Property Get в правой части выражения,
аналогично использованию ключевого слова Function или имени свойства,
когда требуется возвращение значения свойства.
Пример
В данном примере инструкция Property Get используется для
описания процедуры, предназначенной для определения значения свойства. Эта
процедура возвращает текущий цвет пера как строку.
Dim CurrentColor As Integer Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3 ' Возвращает текущий цвет пера как строку. Property Get PenColor() As String Select Case CurrentColor Case RED PenColor = "Red" Case GREEN PenColor = "Green" Case BLUE PenColor = "Blue" End Select End Property ' Следующий код определяет цвет пера с помощью процедуры Property Get. ColorName = PenColor