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
GetSetne 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ánaFriend, můžete deklarovatSetproceduru , ale nePrivatePublic.Pokud definujete
WriteOnlyvlastnost,Setprocedura představuje celou vlastnost. Nelze deklarovat jinou úroveň přístupu proSet, protože tím se nastaví dvě úrovně přístupu pro vlastnost .
Chování
Vrácení z procedury vlastnosti Když se
Setprocedura vrátí do volajícího kódu, provádění pokračuje za příkazem, který poskytl hodnotu k uložení.SetProcedury vlastnosti se vracejí buď pomocí příkazu Return, nebo příkazu Exit.Příkazy
Exit PropertyReturna způsobí okamžitý ukončení procedury vlastnosti. Libovolný počet příkazůExit Propertya se může objevit kdekoli v postupu a můžeteReturnkombinovat příkazyExit PropertyaReturn.
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