Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Вы заключаете определение свойства между оператором 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 для свойства, которое предназначено только для чтения.
Пример
В следующем примере создается свойство чтения и записи, которое сохраняет полное имя в виде двух составных имен, имени и фамилии. При чтении fullNameGet вызывающего кода процедура объединяет два составляющих имена и возвращает полное имя. Когда вызывающий код назначает новое полное имя, 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
- Практическое руководство. Добавление значения в свойство
- Практическое руководство. Получение значения из свойства