Описывает имя, аргументы и текст программы, составляющий тело Property Let procedure, которая присваивает значение свойству.
Синтаксис
[Public | Private] [Static] Property Let имя [(списокАргументов)]
[инструкции]
[Exit Property]
[инструкции]
End Property
Синтаксис инструкции Property Let содержит следующие элементы:
Элемент Описание
Public Необязательный. Указывает, что процедура Property Let доступна для всех других процедур во всех модулях. При использовании в личном модуле (модуле, который содержит инструкцию Option Private) такая процедура является недоступной вне проекта.
Private Необязательный. Указывает, что процедура Property Let доступна для других процедур только того модуля, в котором она описана.
Static Необязательный. Указывает, что локальные переменные процедуры Property Let сохраняются в промежутках времени между вызовами этой процедуры. Атрибут Static не действует на переменные, описанные вне процедуры Property Let, даже если они используются в этой процедуре.
имя Обязательный. Имя процедуры Property Let, удовлетворяющее стандартным правилам именования переменных, за исключением того, что это имя может совпадать с именем процедуры Property Get или Property Set из этого же модуля.
списокАргументов Обязательный. Список переменных, представляющий аргументы, которые передаются в процедуру Property Let при ее вызове. Имена нескольких переменных разделяются запятыми. Имя и тип данных каждого аргумента процедуры Property Let (за исключением последнего) должен совпадать с соответствующими аргументами процедуры Property Get. Последний аргумент представляет значение, присваиваемое свойству с правой стороны выражения. Тип данных последнего (или иногда единственного) аргумента должен соответствовать типу, возвращаемому соответствующей процедурой Property Get.
инструкции Необязательный. Любая группа инструкций, выполняемых в теле процедуры Property Let.
Аргумент списокАргументов имеет следующий синтаксис и элементы:
[Optional] [ByVal | ByRef] имяПеременной[( )] [As тип] [= поУмолчанию]
Элемент Описание
Optional Необязательный. Указывает, что этот аргумент необязателен. При использовании этого элемента все последующие аргументы, которые содержит списокАргументов, также должны быть необязательными и быть описаны с помощью ключевого слова Optional. Отметим, что правая часть выражения Property Let не может иметь тип Optional.
ByVal Необязательный. Указывает, что этот аргумент передается по значению.
ByRef Необязательный. Указывает, что этот аргумент передается по ссылке. Описание ByRef используется в Visual Basic по умолчанию.
имяПеременной Обязательный. Имя переменной, удовлетворяющее стандартным правилам именования переменных.
тип Необязательный. Тип данных аргумента, передаваемого в процедуру; допускаются типы Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (в настоящее время не поддерживается), Date, String (только строки переменной длины), Object, Variant. Если отсутствует ключевое слово Optional, могут быть также указаны определяемый пользователем тип или объектный тип.
поУмолчанию Необязательный. Любая константа или выражение, дающее константу. Используется только вместе с параметром Optional. Если указан тип Object, единственным значением по умолчанию может быть значение Nothing.
Примечание. Каждая инструкция 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 используется для описания процедуры, предназначенной для изменения значения свойства. Это свойство задает цвет пера.
Код |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Dim CurrentColor As Integer
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3
Property Let PenColor(ColorName As String )
Select Case ColorName
Case "Red"
CurrentColor = RED
Case "Green"
CurrentColor = GREEN
Case "Blue"
CurrentColor = BLUE
Case Else
CurrentColor = BLACK
End Select
End Property
PenColor = "Red"
|
|