Поделиться через


Практическое руководство. Создание свойства

Обновлен: Ноябрь 2007

Заключите определение свойства между оператором Property и оператором End Property. В этом определении вы определяете процедуру Get, Set или обе. Весь код свойства находится в этих процедурах.

Процедура Get получает значение свойства, а процедура Set сохраняет значение. Если требуется свойство, для которого есть права чтения и записи, необходимо определить обе процедуры. Для свойства только для чтения нужно определить только Get, а для свойства только для записи, определите только Set.

Создание свойства

  1. Вне любых свойств и процедур используйте оператор Оператор Property, за которым следует оператор End Property.

  2. Если свойство принимает параметры, дополните ключевое слово Property именем процедуры, а затем списком параметров в круглых скобках.

  3. После круглых скобок используйте оператор As для указания типа данных значения свойства. Необходимо указать тип данных даже для свойства только для чтения.

  4. Добавьте процедуры Get или Set нужным образом. См. следующие объявления.

Создание процедуры Get, которая получает значение свойства

  1. Между операторами Property и End Property добавьте Оператор Get, за которым следует оператор End Get. Для процедуры Get определять параметры необязательно.

  2. Чтобы извлечь значение свойства, поместите операторы кода между операторами Get и End Get. Этот код может включать другие вычисления и манипуляции с данными в дополнение к созданию и возврату значения свойства.

  3. Оператор Return используется для возвращения значения свойства в вызывающий код.

Необходимо написать процедуру Get для свойства чтения и записи и для свойства только для чтения. Определять Get для свойства только для записи не нужно.

Создание процедуры Set, которая записывает значение свойства

  1. Между операторами Property и End Property добавьте Инструкция Set (Visual Basic), за которым следует оператор End Set.

  2. В операторе Set после ключевого слова Set укажите список параметров в круглых скобках. Этот список параметров должен включать, по крайней мере, параметр для значения, предаваемого вызывающим кодом. Имя этого параметра по умолчанию — Value, но при необходимости можно использовать другое имя. Параметр значения должен быть того же типа, что и само свойство.

  3. Поместите операторы кода для получения значения свойства между операторами Set и End Set. Этот код может включать другие вычисления и манипуляции с данными в дополнение к созданию и возврату значений свойств.

  4. Используйте параметр значения, чтобы принять значение, предоставленное вызывающим кодом. Можно либо хранить это значение непосредственно в операторе присваивания, или использовать его в выражении для вычисления внутреннего значения.

Необходимо написать процедуру 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)

См. также

Задачи

Практическое руководство. Объявление свойства со смешанным уровнем доступа

Практическое руководство. Вызов процедуры Get свойства

Практическое руководство. Объявление и вызов свойства по умолчанию в Visual Basic

Практическое руководство. Запись значения в свойство

Практическое руководство. Получение значения из свойства

Основные понятия

Процедуры в Visual Basic

Процедуры свойств

Параметры и аргументы процедуры

Различия между свойствами и переменными в Visual Basic