Шаг 47 - Инструкция Property Get

Описывает имя, аргументы и текст программы, составляющий тело процедуры 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 (если она имеется).

Замечания
Процедуры 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

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.