Оператор 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, можно объявить процедуру GetPrivate, но не 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

См. также