Set – příkaz (Visual Basic)
Deklaruje proceduru Set
vlastnosti použitou k přiřazení hodnoty vlastnosti.
Syntaxe
[ <attributelist> ] [ accessmodifier ] Set [([ByVal value [ As datatype ]])]
[ statements ]
End Set
Součástky
attributelist
Nepovinné. Viz seznam atributů.
accessmodifier
Volitelné na maximálně jednom z Get
příkazů a Set
příkazů v této vlastnosti. Může to být jedna z následujících možností:
Viz úrovně Accessu v jazyce Visual Basic.
value
Nepovinné. Parametr obsahující novou hodnotu vlastnosti. Pokud není zadaný (to znamená, že seznam parametrů není k dispozici nebo je prázdný), je definován implicitní parametr s názvem value
. Datový typ tohoto implicitního parametru je datový typ vlastnosti, kde je tento Set
příkaz deklarován.
datatype
Vyžaduje se, pokud value
je přítomna a Option Strict
je On
. Nelze ji prezentovat, pokud value
není zadána. Datový typ parametru value
. Zadaný datový typ musí být stejný jako datový typ vlastnosti, kde je tento Set
příkaz deklarován.
statements
Nepovinné. Jeden nebo více příkazů, které se spustí při Set
volání procedury vlastnosti.
End Set
Povinný: Ukončí definici Set
procedury vlastnosti.
Poznámky
Každá vlastnost musí mít proceduru Set
vlastnosti, pokud není vlastnost označena ReadOnly
. Procedura Set
slouží k nastavení hodnoty vlastnosti.
Visual Basic automaticky volá proceduru Set
vlastnosti, když příkaz přiřazení poskytuje hodnotu, která má být uložena ve vlastnosti.
Visual Basic předá procedurě Set
parametr během přiřazení vlastností. Pokud nezadáte parametr , Set
integrované vývojové prostředí (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 vlastnosti Get
a Set
procedury mezi příkazem Property Statement a End Property
příkazem. Nemůže uložit nic jiného než tyto postupy. Konkrétně nemůže uložit aktuální hodnotu vlastnosti. Tuto hodnotu je nutné uložit mimo vlastnost, protože pokud ji uložíte do některého z procedur vlastnosti, ostatní procedura vlastnosti k ní nemůže získat přístup. Obvyklým přístupem je uložení hodnoty do privátní proměnné deklarované na stejné úrovni jako vlastnost. Musíte definovat proceduru Set
uvnitř vlastnosti, na kterou se vztahuje.
Výchozí Set
hodnota procedury je úroveň přístupu jeho obsahující vlastnosti, pokud v Set
příkazu nepoužíváteaccessmodifier
.
Pravidla
Smíšené úrovně přístupu. Pokud definujete vlastnost pro čtení i zápis, můžete volitelně zadat jinou úroveň přístupu pro
Get
Set
postup, ale ne obojí. Pokud to uděláte, úroveň přístupu procedury musí být více omezující než úroveň přístupu vlastnosti. Pokud je například vlastnost deklarovánaFriend
, můžete deklarovat proceduruSet
Private
, ale nikoliPublic
.Pokud definujete
WriteOnly
vlastnost, proceduraSet
představuje celou vlastnost. Nelze deklarovat jinou úroveň přístupu proSet
, protože by to nastavilo dvě úrovně přístupu pro vlastnost.
Chování
Vrácení z procedury vlastnosti. Když se procedura
Set
vrátí do volajícího kódu, provádění pokračuje podle příkazu, který poskytl hodnotu, která má být uložena.Set
procedury vlastnosti mohou vrátit pomocí příkazu Return nebo Exit Příkaz.Příkazy
Exit Property
aReturn
příkazy způsobují okamžitý výstup z procedury vlastnosti. Libovolný početExit Property
příkazů aReturn
příkazů se může objevit kdekoli v postupu a můžete kombinovatExit Property
aReturn
příkazy.
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