Шаг 48 - Инструкция Property Let

Описывает имя, аргументы и текст программы, составляющий тело Property Let procedure, которая присваивает значение свойству.

[Public | Private] [Static] Property Let имя [(списокАргументов)]
	[инструкции]
	[Exit Property] 
	[инструкции]
End Property

Параметры
Public
Необязательный. Указывает, что процедура Property Let доступна для всех других процедур во всех модулях. При использовании в личном модуле (модуле, который содержит инструкцию Option Private) такая процедура является недоступной вне проекта.
Private
Необязательный. Указывает, что процедура Property Let доступна для других процедур только того модуля, в котором она описана.
Static
Необязательный. Указывает, что локальные переменные процедуры Property Let сохраняются в промежутках времени между вызовами этой процедуры. Атрибут Static не действует на переменные, описанные вне процедуры Property Let, даже если они используются в этой процедуре.
имя
Oбязательный. Имя процедуры Property Let, удовлетворяющее стандартным правилам именования переменных, за исключением того, что это имя может совпадать с именем процедуры Property Get или Property Set из этого же модуля.
списокАргументов
Обязательный. Список переменных, представляющий аргументы, которые передаются в процедуру Property Let при ее вызове. Имена нескольких переменных разделяются запятыми. Имя и тип данных каждого аргумента процедуры Property Let (за исключением последнего) должен совпадать с соответствующими аргументами процедуры Property Get. Последний аргумент представляет значение, присваиваемое свойству с правой стороны выражения. Тип данных последнего (или иногда единственного) аргумента должен соответствовать типу, возвращаемому соответствующей процедурой Property Get.

инструкции
Необязательный. Любая группа инструкций, выполняемых в теле процедуры Property Let.

Каждая инструкция Property Let должна определять по крайней мере один аргумент определяемой процедуры. Этот аргумент (или последний аргумент, если имеется более одного аргумента) содержит реальное значение, которое будет присвоено свойству при вызове процедуры, определенной с помощью инструкции Property Let.

Замечания
Процедуры Property, тип которых не указан явно с помощью слов Public или Private, являются общими по умолчанию. Если не используется слово Static, значения локальных переменных не сохраняются между вызовами процедур.
Все выполняемые команды должны находиться в процедурах. Не допускается определение процедуры Property Let внутри другой процедуры Property, Sub или Function.
Инструкция Exit Property вызывает немедленный выход из процедуры Property Let. Выполнение программы продолжается с инструкции, следующей за инструкцией вызова процедуры Property Let. В любом месте процедуры Property Let допускается любое число инструкций Exit Property.
Подобно процедурам Function и Property Get, процедура Property Let является самостоятельной процедурой, которая может получать аргументы, выполнять последовательность инструкций и изменять значения своих аргументов. Однако в отличие от процедур Function и Property Get, которые возвращают значения, процедуру Property Let можно использовать только в левой части выражения для присвоения свойства или в инструкции Let.

Пример

В данном примере инструкция Property Let используется для описания процедуры, предназначенной для изменения значения свойства. Это свойство задает цвет пера.

Dim CurrentColor As Integer
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3

' Эта процедура задает цвет пера.
' Переменная CurrentColor, определенная на уровне модуля,
' содержит числовое значение, указывающее нужный цвет.
Property Let PenColor(ColorName As String)
	Select Case ColorName			' Анализирует строку ColorName.
		Case "Red"
			CurrentColor = RED	' Красный цвет.
		Case "Green"
			CurrentColor = GREEN	' Зеленый цвет.
		Case "Blue"

CurrentColor = BLUE				' Синий цвет.
		Case Else
			CurrentColor = BLACK	' Значение по умолчанию.
	End Select
End Property
' Следующий код задает цвет пера с помощью процедуры Property Let.
PenColor = "Red" 

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