Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы заключаете определение свойства между оператором Property
и оператором End Property
. В этом определении вы определяете процедуру Get
, процедуру Set
или обе. Весь код свойства лежит в этих процедурах.
Процедура Get
извлекает значение свойства, а Set
процедура сохраняет значение. Если свойство должно иметь доступ на чтение и запись, необходимо определить обе процедуры. Для свойства только для чтения определяется только Get
, а для свойства только для записи — только Set
.
Создание свойства
За пределами любого свойства или процедуры используйте выражение Property, за которым следует
End Property
инструкция.Если свойство принимает параметры, после ключевого слова
Property
укажите имя процедуры, а затем список параметров в скобках.Включите в скобки выражение
As
, чтобы определить тип данных для значения свойства. Необходимо указать тип данных даже для свойства только для записи.Добавьте
Get
иSet
процедуры по мере необходимости. См. следующие инструкции.
Чтобы создать процедуру Get, извлекающую значение свойства
Между операторами
Property
иEnd Property
напишите инструкцию Get, затем разместите операторEnd Get
. Вам не нужно определять параметры дляGet
процедуры.Поместите инструкции кода для получения значения свойства между инструкциями
Get
иEnd Get
. Этот код может включать другие вычисления и манипуляции с данными в дополнение к созданию и возврату значения свойства.Используйте инструкцию
Return
, чтобы вернуть значение свойства в вызывающий код.
Необходимо написать процедуру Get
для свойства чтения и записи, а также для свойства только для чтения. Не следует определять процедуру Get
для свойства только для записи.
Создание процедуры Set, которая записывает значение свойства
Между операторами
Property
иEnd Property
напишите оператор Set, за которым следует операторEnd Set
.В инструкции
Set
опционально следуйте за ключевым словомSet
, добавив список параметров в скобках. Если список параметров отсутствует или пуст, то определяется неявный параметрValue
, тип которого является типом самого свойства. Если список параметров не пуст, можно использовать другое имя, но параметр должен иметь тот же тип данных, что и само свойство.Поместите инструкции кода для хранения значения в свойстве между
Set
иEnd Set
. Этот код может включать другие вычисления и манипуляции с данными в дополнение к проверке и хранению значения свойства.Используйте параметр значения, чтобы принять значение, предоставленное вызывающим кодом. Вы можете сохранить это значение непосредственно в инструкции назначения или использовать его в выражении для вычисления внутреннего значения, которое будет храниться.
Необходимо написать процедуру Set
для свойства для чтения и записи и для свойства, доступного только для записи. Нельзя определять процедуру Set
для свойства, которое предназначено только для чтения.
Пример
В следующем примере создается свойство чтения и записи, которое сохраняет полное имя в виде двух составных имен, имени и фамилии. При чтении fullName
Get
вызывающего кода процедура объединяет два составляющих имена и возвращает полное имя. Когда вызывающий код назначает новое полное имя, Set
процедура пытается разбить ее на два составных имени. Если он не находит пробел, он сохраняет все это как первое имя.
Dim firstName, lastName As String
Property fullName() As String
Get
If lastName = "" Then
Return firstName
Else
Return firstName & " " & lastName
End If
End Get
Set(ByVal Value As String)
Dim space As Integer = Value.IndexOf(" ")
If space < 0 Then
firstName = Value
lastName = ""
Else
firstName = Value.Substring(0, space)
lastName = Value.Substring(space + 1)
End If
End Set
End Property
В следующем примере показаны типичные вызовы процедур свойств fullName
. Первый вызов задает значение свойства, а второй вызов извлекает его.
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
См. также
- процедуры
- Процедуры свойств
- Параметры процедуры и аргументы
- Различия между свойствами и переменными в Visual Basic
- Как объявить свойство с смешанными уровнями доступа
- Практическое руководство: Вызов процедуры свойства
- Практическое руководство. Объявление и вызов свойства по умолчанию в Visual Basic
- Практическое руководство. Добавление значения в свойство
- Практическое руководство. Получение значения из свойства