Оператор Get
Объявляет процедуру свойства, используемую Get
для получения значения свойства.
Синтаксис
[ <attributelist> ] [ accessmodifier ] Get()
[ statements ]
End Get
Детали
Термин | Определение |
---|---|
attributelist |
Необязательно. См . список атрибутов. |
accessmodifier |
Необязательно для одного из Get операторов и Set инструкций в этом свойстве. Может применяться один из перечисленных ниже типов.- Protected - Friend - Частное - Protected Friend См. раздел Access levels in Visual Basic. |
statements |
Необязательно. Одна или несколько инструкций, выполняемых при вызове Get процедуры свойства. |
End Get |
Обязательный. Завершает определение Get процедуры свойства. |
Замечания
Каждое свойство должно иметь процедуру Get
свойства, если свойство не помечается WriteOnly
. Процедура Get
используется для возврата текущего значения свойства.
Visual Basic автоматически вызывает процедуру свойства Get
, когда выражение запрашивает значение свойства.
Текст объявления свойства может содержать только свойства и Set
процедуры между операторомproperty и операторомEnd Property
.Get
Он не может хранить ничего, кроме этих процедур. В частности, он не может хранить текущее значение свойства. Это значение должно храниться вне свойства, так как если он хранится в любой из процедур свойств, другая процедура свойства не может получить к ней доступ. Обычный подход заключается в хранении значения в частной переменной, объявленной на том же уровне, что и свойство. Необходимо определить процедуру Get
внутри свойства, к которому она применяется.
Процедура Get
по умолчанию используется на уровне доступа его содержащего свойства, если вы не используете accessmodifier
в инструкции Get
.
Правила
Уровни смешанного доступа. Если вы определяете свойство чтения и записи, вы можете при необходимости указать другой уровень доступа для процедуры
Get
илиSet
процедуры, но не оба. Если это сделать, уровень доступа к процедуре должен быть более строгим, чем уровень доступа свойства. Например, если свойство объявленоFriend
, можно объявить процедуруGet
Private
, но неPublic
.Если вы определяете
ReadOnly
свойство,Get
процедура представляет все свойство. Для свойства нельзя объявить другой уровень доступа, так как для этого задано два уровняGet
доступа.Тип возвращаемого значения. Оператор property может объявить тип данных возвращаемого значения. Процедура
Get
автоматически возвращает этот тип данных. Можно указать любой тип данных или имя перечисления, структуры, класса или интерфейса.Property
Если инструкция не указанаreturntype
, процедура возвращаетсяObject
.
Поведение
Возврат из процедуры.
Get
Когда процедура возвращается в вызывающий код, выполнение продолжается в инструкции, запрашивающей значение свойства.Get
Процедуры свойств могут возвращать значение с помощью инструкции Return или назначения возвращаемого значения имени свойства. Дополнительные сведения см. в разделе "Возвращаемое значение" в операторе функции.Return
ИнструкцииExit Property
вызывают немедленный выход из процедуры свойства. Любое количествоExit Property
иReturn
операторы могут отображаться в любом месте процедуры, и вы можете смешивать иReturn
смешиватьExit Property
инструкции.Возвращаемое значение. Чтобы вернуть значение из
Get
процедуры, можно назначить значение имени свойства или включить его в оператор Return. ОператорReturn
одновременно назначаетGet
возвращаемое значение процедуры и завершает процедуру.При использовании
Exit Property
без назначения значения имениGet
свойства процедура возвращает значение по умолчанию для типа данных свойства. Дополнительные сведения см. в разделе "Возвращаемое значение" в операторе функции.В следующем примере показано два способа, которым свойство
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