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


Оператор Get

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

[ <attributelist> ] [ accessmodifier ] Get()
    [ statements ]
End Get

Части

Термин

Определение

attributelist

Необязательный.См. Список атрибутов.

accessmodifier

Необязателен максимум для одного из операторов Get и Set в этом свойстве.Может принимать следующие значения:

Дополнительные сведения см. в разделе Уровни доступа в Visual Basic.

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

См. также

Задачи

Пошаговое руководство. Определение классов (Visual Basic)

Ссылки

Инструкция Set (Visual Basic)

Оператор Property

Оператор Exit (Visual Basic)

Другие ресурсы

Объекты и классы Visual Basic