Set – příkaz (Visual Basic)

Deklaruje Set proceduru vlastnosti použitou k přiřazení hodnoty vlastnosti.

Syntax

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

Součásti

attributelist
Nepovinný parametr. Viz Seznam atributů.

accessmodifier
Volitelné pro alespoň jeden z příkazů Get Set a v této vlastnosti. Může to být jedna z následujících možností:

Viz Úrovně přístupu v Visual Basic.

value
Povinná hodnota. Parametr obsahující novou hodnotu vlastnosti .

datatype
Vyžaduje se, Option Strict pokud je On . Datový typ value parametru. Zadaný datový typ musí být stejný jako datový typ vlastnosti, kde je tento Set příkaz deklarován.

statements
Nepovinný parametr. Jeden nebo více příkazů, které se spustí při Set volání procedury vlastnosti.

End Set
Povinná hodnota. Ukončí definici Set procedury vlastnosti.

Poznámky

Každá vlastnost musí mít Set proceduru vlastnosti, pokud není vlastnost označená jako ReadOnly . Procedura Set slouží k nastavení hodnoty vlastnosti .

Visual Basic automaticky volá proceduru vlastnosti, pokud příkaz přiřazení poskytuje Set hodnotu, která má být uložena ve vlastnosti .

Visual Basic procedurě předá parametr Set během přiřazení vlastností. Pokud nezadáte parametr pro , integrované vývojové prostředí Set (IDE) použije implicitní parametr s názvem value . Parametr obsahuje hodnotu, která má být přiřazena k vlastnosti . Tuto hodnotu obvykle uložíte do privátní místní proměnné a vrátíte ji při každém Get volání procedury.

Tělo deklarace vlastnosti může obsahovat pouze procedury vlastnosti a mezi Get Set příkazem Property a End Property příkazem . Nemůže ukládat nic jiného než tyto postupy. Konkrétně nemůže uložit aktuální hodnotu vlastnosti. Tuto hodnotu musíte uložit mimo vlastnost , protože pokud ji uložíte do jednoho z procedur vlastností, procedura jiné vlastnosti k ní nebude mít přístup. Obvyklým způsobem je uložit hodnotu do soukromé proměnné deklarované na stejné úrovni jako vlastnost . Je nutné definovat Set proceduru uvnitř vlastnosti, na kterou se vztahuje.

Procedura Set je ve výchozím nastavení nastavena na úroveň přístupu vlastnosti obsahující ji, pokud v příkazu accessmodifier Set použijete .

Pravidla

  • Smíšené úrovně přístupu. Pokud definujete vlastnost pro čtení i zápis, můžete volitelně zadat jinou úroveň přístupu pro proceduru nebo , ale Get Set ne pro obojí. V takovém případě musí být úroveň přístupu procedury více omezující než úroveň přístupu k vlastnosti. Pokud je například vlastnost deklarována Friend , můžete deklarovat Set proceduru , ale ne Private Public .

    Pokud definujete WriteOnly vlastnost, Set procedura představuje celou vlastnost. Nelze deklarovat jinou úroveň přístupu pro Set , protože tím se nastaví dvě úrovně přístupu pro vlastnost .

Chování

  • Vrácení z procedury vlastnosti Když se Set procedura vrátí do volajícího kódu, provádění pokračuje za příkazem, který poskytl hodnotu k uložení.

    Set Procedury vlastnosti se vracejí buď pomocí příkazu Return, nebo příkazu Exit.

    Příkazy Exit Property Return a způsobí okamžitý ukončení procedury vlastnosti. Libovolný počet příkazů Exit Property a se může objevit kdekoli v postupu a můžete Return kombinovat příkazy Exit Property a Return .

Příklad

Následující příklad používá Set příkaz k nastavení hodnoty vlastnosti.

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

Viz také