Оператор Get
Обновлен: Ноябрь 2007
Объявляет процедуру свойства Get, которая используется для извлечения значения свойства.
[ <attributelist> ] [ accessmodifier ] Get()
[ statements ]
End Get
Компоненты
attributelist
Необязательный. См. Список атрибутов.accessmodifier
Необязателен для не более одного из операторов Get и Set в этом свойстве. Может быть одним из следующих.statements
Необязательный. Один или несколько операторов, которые выполняются при вызове процедуры свойства Get.End Get
Обязательный. Завершает определение процедуры свойства Get.
Заметки
Каждое свойство должно иметь Get процедуру свойства, если только свойство не помечено как WriteOnly. Процедура Get используется для возвращения текущего значения свойства.
Visual Basic автоматически вызывает процедуру свойства Get, когда выражение запрашивает значение свойства.
Тело объявления свойства может содержать только процедуры Get и Set свойства между оператором Оператор Property и End Property. Оно не может хранить что-либо кроме этих процедур. В частности, оно не может хранить текущее значение свойства. Это значение следует хранить за пределами свойства, так как если хранить его внутри любой из процедур свойства, другая процедура свойства не сможет получить к нему доступ. Обычным подходом является хранение значения в переменной Private (Visual Basic), объявленной на том же уровне, что и свойство. Процедуру Get необходимо определить внутри свойства, к которому оно применимо.
Процедура Get имеет уровень доступа к свойству, в котором содержится, по умолчанию, если не используется инструкция accessmodifier в операторе Get.
Правила
Смешанные уровни доступа. При определении свойства для чтения и записи можно указать другой уровень доступа для процедур Get или Set, но не для обеих. При этом уровень доступа процедуры должен быть более строгими, чем уровень доступа свойства. Например, если свойство объявлено Friend, можно объявить процедуру Get как Private, но не Public.
При определении свойства ReadOnly, процедура Get представляет все свойство. Нельзя объявлять другой уровень доступа для Get, поскольку, будет установлено два уровня доступа для свойства.
Возвращаемый тип. При помощи Оператор Property можно объявлять тип данных возвращаемого значения. Процедура Get автоматически возвращает этот тип данных. Можно указать любой тип данных или имя перечисления, структуру, класс или интерфейс.
Если в операторе Property не указан returntype, процедура возвращает Object.
Поведение
Возвращение из процедуры. Когда процедура Get возвращается в код вызова, выполнение продолжается в операторе, запросившем значение свойства.
Процедуры свойства Get могут возвращать значение, используя либо Оператор Return (Visual Basic), или присваивая возвращаемое значение имени свойства. Дополнительные сведения см. в разделе "Возвращаемое значение" Оператор Function (Visual Basic).
Операторы Exit Property и Return вызывают немедленный выход из процедуры свойства. В любом месте процедуры можно использовать любое количество операторов Exit Property и Return, кроме того операторы Exit Property и Return можно комбинировать.
Возвращаемое значение. Для возвращения значения из процедуры Get можно присвоить значение имени свойства или включить его в Оператор Return (Visual Basic). Оператор Return одновременно назначает возвращаемое значение Get и выходит из процедуры.
При использовании Exit Property без присвоения значения имени свойства, процедура Get возвращает значение типа данных свойства по умолчанию. Дополнительные сведения см. в разделе "Возвращаемое значение" Оператор Function (Visual Basic).
В следующем примере показано два способа возвращения значения для свойства quoteForTheDay, доступного только для чтения, значение содержится в частной переменной quoteValue.
Private quoteValue As String = "No quote assigned yet."
ReadOnly Property quoteForTheDay() As String Get quoteForTheDay = quoteValue Exit Property End Get End Property
ReadOnly Property quoteForTheDay() As String Get Return quoteValue End Get End Property
Пример
В следующем примере используется оператор Get для возвращения значения свойства.
Class propClass
' Define a private local variable to store the property value.
Private currentTime As String
' Define the read-only property.
Public ReadOnly Property dateAndTime() As String
Get
' The Get procedure is called automatically when the
' value of the property is retrieved.
currentTime = CStr(Now)
' Return the date and time As a string.
Return currentTime
End Get
End Property
End Class
См. также
Задачи
Практическое руководство. Добавление полей и свойств в класс