Практическое руководство. Создание свойства (Visual Basic)
Определение свойства заключено между оператором 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
- Практическое руководство. Запись значения в свойство
- Практическое руководство. Получение значения из свойства