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


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

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

[ <attributelist> ] [ accessmodifier ] Set (ByVal value [ As datatype ])
    [ statements ]
End Set

Части

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

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

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

  • value
    Обязательный.Параметр, содержащий новое значение свойства.

  • datatype
    Требуется, если для Option Strict установлено значение On.Тип данных параметра value.Указанный тип данных должен совпадать с типом данных свойства, для которого объявляется данный оператор Set.

  • statements
    Необязательный.Один или несколько операторов, которые выполняются при вызове процедуры свойства Set.

  • End Set
    Обязательный.Завершает определение процедуры свойства Set.

Заметки

Каждое свойство должно иметь процедуру свойства Set, если только свойство не помечено как ReadOnly.Процедура Set используется для присвоения значения свойства.

Visual Basic автоматически вызывает процедуру свойства Set, когда оператор присваивания предоставляет значение, хранимое в свойстве.

Visual Basic передает параметр в процедуру Set во время назначения свойств.Если параметры для блока Set не предоставляются пользователем, интегрированная среда разработки (IDE) использует неявный параметр с именем value.Параметр содержит значение, присваиваемое свойству.Обычно это значение хранится в закрытой локальной переменной и возвращается при каждом вызове процедуры Get.

Основная часть объявления свойства может содержать только процедуры Get и Set свойства между оператором Оператор Property и End Property.Оно не может хранить что-либо кроме этих процедур.В частности, оно не может хранить текущее значение свойства.Это значение следует хранить за пределами свойства, так как если хранить его внутри любой из процедур свойства, другая процедура свойства не сможет получить к нему доступ.Обычным подходом является хранение значения в переменной Private (Visual Basic), объявленной на том же уровне, что и свойство.Процедуру Set необходимо определить внутри свойства, к которому оно применимо.

Процедура Set имеет уровень доступа к свойству, в котором содержится, по умолчанию, если не используется инструкция accessmodifier в операторе Set.

Правила

  • Смешанные уровни доступа. При определении свойства для чтения и записи можно указать другой уровень доступа для процедур Get или Set, но не для обеих.При этом уровень доступа процедуры должен быть более строгими, чем уровень доступа свойства.Например, если свойство объявлено Friend, можно объявить процедуру Set как Private, но не Public.

    При определении свойства WriteOnly, процедура Set представляет все свойство.Нельзя объявлять другой уровень доступа для Set, поскольку таким образом устанавливается два уровня доступа для свойства.

Поведение

  • Возвращение из процедуры свойства. Когда процедураSet возвращается к коду вызова, выполнение продолжается после инструкции, которая предоставляет значение для хранения.

    Процедуры свойства Set могут возвращаться с помощью либо Оператор Return (Visual Basic), либо Оператор Exit (Visual Basic).

    Операторы Exit Property и Return вызывают немедленный выход из процедуры свойства.Любое количество операторов Exit Property и Return может использоваться в любом месте процедуры, и их также можно использовать вместе с операторами Exit Property и Return.

Пример

В следующем примере используется инструкция Set для задания значения свойства.

Class propClass
    Private propVal As Integer
    Property prop1() As Integer
        Get
            Return propVal
        End Get
        Set(ByVal value As Integer)
            propVal = value
        End Set
    End Property
End Class

См. также

Ссылки

Оператор Get

Оператор Property

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

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

Процедуры свойств (Visual Basic)