Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
Volitelný. 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
Volitelný. 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
Volitelný. 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 , Setintegrované 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
GetSetpostup, 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 proceduruSetPrivate, ale nikoliPublic.Pokud definujete
WriteOnlyvlastnost, proceduraSetpř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
Setvrátí do volajícího kódu, provádění pokračuje podle příkazu, který poskytl hodnotu, která má být uložena.Setprocedury vlastnosti mohou vrátit pomocí příkazu Return nebo Exit Příkaz.Příkazy
Exit PropertyaReturnpříkazy způsobují okamžitý výstup z procedury vlastnosti. Libovolný početExit Propertypříkazů aReturnpříkazů se může objevit kdekoli v postupu a můžete kombinovatExit PropertyaReturnpří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