Процедура Property представляет собой последовательность инструкций языка Visual Basic, которые позволяют программисту создавать собственные свойства и оперировать с ними.
Процедуры Property создают допускающие только чтение свойства для форм, стандартных модулей и модулей класса.
Процедуры Property следует использовать вместо переменных Public в программе, которая должна выполняться после задания значение свойства.
В отличие от переменных Public процедуры Property могут иметь справочные строки, присвоенные им в окне Просмотр объектов.
Когда создается процедура Property, она становится свойством модуля, содержащего эту процедуру. В языке Visual Basic имеются три следующих типа процедур Property:
Процедура
Описание
Property Let
Присваивает значение свойству.
Property Get
Возвращает значение свойства.
Property Set
Задает ссылку на объект.
Синтаксис процедуры Property :
[Public | Private] [Static] Property имя_свойства_ [(список_аргументов)] [As тип]
инструкции
End Property
Процедуры Property обычно используются попарно: Property Let с Property Get и Property Set с Property Get. Описание одной процедуры Property Get подобно описанию свойства, доступного только для чтения. Использование всех трех процедур Property вместе полезно только для переменных Variant, так как только могут содержать как объект, так и другую информацию о типах данных. В отличие от Property Let процедура Property Set предназначена для работы с объектами.
Обязательные аргументы описания процедур Property представлены в следующей таблице:
Процедура
Синтаксис описания
Property Get
Property Get имя(1, :, n) As тип
Property Let
Property Let имя(1, :,,,, n, n+1)
Property Set
Property Set имя(1, :, n, n+1)
Первый аргумент и все следующие вплоть до последнего (1, :, n) должны иметь одно и то же имя и тип данных во всех одноименных процедурах Property.
Описание процедуры Property Get имеет на один аргумент меньше, чем связанные описания Property Let и Property Set. Тип данных процедуры Property Get должен быть тем же самым, что и тип последнего аргумента (n+1) в связанных описаниях Property Let и Property Set. Например, если описывается следующая процедура Property Let, в описании Property Get должны использоваться аргументы с тем же самым именем и типом данных, как аргументы в процедуре Property Let.
Property Let Names(intX As Integer, intY As Integer, varZ As Variant)
'Выполняемая инструкция.
End Property
Property Get Names(intX As Integer, intY As Integer) As Variant
'Выполняемая инструкция.
End Property
Тип данных последнего аргумента в описании Property Set должен быть или объектным типом или Variant.