Property – příkaz
Deklaruje název vlastnosti a procedury vlastnosti používané k ukládání a načítání hodnoty vlastnosti.
Syntax
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ] [ Iterator ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
[ <attributelist> ] [ accessmodifier ] Get
[ statements ]
End Get
[ <attributelist> ] [ accessmodifier ] Set ( ByVal value As returntype [, parameterlist ] )
[ statements ]
End Set
End Property
- or -
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
Součásti
attributelistNepovinný parametr. Seznam atributů, které se vztahují na tuto vlastnost
GetneboSetproceduru nebo. Viz seznam atributů.DefaultNepovinný parametr. Určuje, že tato vlastnost je výchozí vlastností třídy nebo struktury, ve které je definována. Výchozí vlastnosti musí přijímat parametry a lze je nastavit a načíst bez zadání názvu vlastnosti. Pokud vlastnost deklarujete jako
Default, nemůžete použítPrivateu vlastnosti ani u žádné z jejích procedur vlastností.accessmodifierVolitelné na
Propertypříkazu a maximálně jeden zGetSetpříkazů a. Může to být jedna z následujících:Podívejte se na úrovně přístupu v Visual Basic.
propertymodifiersNepovinný parametr. Může to být jedna z následujících:
MustOverride OverridesNotOverridable Overrides
SharedNepovinný parametr. Viz Shared.
ShadowsNepovinný parametr. Viz Shadows.
ReadOnlyNepovinný parametr. Zobrazit jen pro čtení.
WriteOnlyNepovinný parametr. Viz WriteOnly.
IteratorNepovinný parametr. Podívejte se na iterátor.
namePovinná hodnota. Název vlastnosti. Viz deklarované názvy elementů.
parameterlistNepovinný parametr. Seznam názvů místních proměnných, které představují parametry této vlastnosti, a možných dalších parametrů
Setprocedury. Viz seznam parametrů.returntypePožadováno v
Option StrictpřípaděOn, že je. Datový typ hodnoty vrácené touto vlastnostíImplementsNepovinný parametr. Označuje, že tato vlastnost implementuje jednu nebo více vlastností, každý z nich definovaný v rozhraní implementovaném touto vlastností, která obsahuje třídu nebo strukturu. Viz příkaz Implements.
implementslistVyžaduje
Implementsse, pokud je zadaný. Seznam implementovaných vlastností.implementedproperty [ , implementedproperty ... ]Každá
implementedpropertyz nich má následující syntaxi a části:interface.definednameČást Popis interfacePovinná hodnota. Název rozhraní implementovaného touto vlastností, která obsahuje třídu nebo strukturu. definednamePovinná hodnota. Název, podle kterého je vlastnost definovaná interface.GetNepovinný parametr. Vyžaduje se, pokud je vlastnost označená
ReadOnly. SpustíGetproceduru vlastnosti, která se používá k vrácení hodnoty vlastnosti.GetPříkaz se nepoužívá s automaticky implementovanými vlastnostmi.statementsNepovinný parametr. Blok příkazů, které mají být spuštěny v rámci
GetSetprocesu or.End GetUkončí
Getproceduru vlastnosti.SetNepovinný parametr. Vyžaduje se, pokud je vlastnost označená
WriteOnly. SpustíSetproceduru vlastnosti, která se používá k uložení hodnoty vlastnosti.SetPříkaz se nepoužívá s automaticky implementovanými vlastnostmi.End SetUkončí
Setproceduru vlastnosti.End PropertyUkončí definici této vlastnosti.
Poznámky
PropertyPříkaz zavádí deklaraci vlastnosti. Vlastnost může mít Get proceduru (jen pro čtení), Set proceduru (jen pro zápis) nebo obojí (pro čtení i zápis). Můžete vynechat Get Set proceduru a při použití automaticky implementované vlastnosti. Další informace najdete v tématu věnovaném automaticky implementovaným vlastnostem.
Můžete použít Property pouze na úrovni třídy. To znamená, že kontext deklarace pro vlastnost musí být třída, struktura, modul nebo rozhraní a nemůže se jednat o zdrojový soubor, obor názvů, proceduru nebo blok. Další informace najdete v tématu deklarace kontextů a výchozích úrovní přístupu.
Ve výchozím nastavení vlastnosti používají veřejný přístup. Můžete upravit úroveň přístupu vlastnosti pomocí modifikátoru přístupu u Property příkazu a volitelně můžete upravit jeden z jeho procedur vlastností na více omezující úroveň přístupu.
Visual Basic předá Set proceduře během přiřazení vlastností parametr. Pokud nezadáte parametr pro Set , integrované vývojové prostředí (IDE) používá implicitní parametr s názvem value . Tento parametr obsahuje hodnotu, která má být přiřazena vlastnosti. Tuto hodnotu obvykle ukládáte do privátní místní proměnné a vrátíte ji pokaždé, když Get je procedura volána.
Pravidla
Smíšené úrovně přístupu. Pokud definujete vlastnost pro čtení i zápis, můžete volitelně zadat jinou úroveň přístupu pro
GetSetproceduru nebo, ale ne obojí. Pokud to uděláte, musí být úroveň přístupu k této proceduře přísnější než úroveň přístupu vlastnosti. Například pokud je vlastnost deklarovánaFriend, můžete deklarovatSetproceduruPrivate, ale nePublic.Pokud definujete
ReadOnlyWriteOnlyvlastnost nebo, zastupuje procedura s jedinou vlastností (Getnebo vSetuvedeném pořadí) všechny vlastnosti. Pro takový postup nemůžete deklarovat jinou úroveň přístupu, protože by se pro vlastnost nastavily dvě úrovně přístupu.Návratový typ
PropertyPříkaz může deklarovat datový typ hodnoty, kterou vrátí. Můžete zadat libovolný datový typ nebo název výčtu, struktury, třídy nebo rozhraní.Pokud nezadáte
returntypehodnotu, vlastnost vrátíObject.Provádění. Pokud tato vlastnost používá
Implementsklíčové slovo, obsahující třídu nebo strukturu musí mítImplementspříkaz hned zaClassStructurepříkazem or.ImplementsPříkaz musí zahrnovat každé rozhraní určené vimplementslist. Název, pomocí kterého rozhraní definujeProperty(in), aledefinednamenemusí být stejný jako název této vlastnosti (vname).
Chování
Návrat z procedury vlastnosti. Když se
GetSetprocedura nebo vrátí na volající kód, provádění pokračuje příkazem po příkazu, který ho vyvolal.Exit PropertyPříkazy aReturnzpůsobují bezprostřední ukončení procedury vlastnosti. Libovolný početExit Propertypříkazů aReturnse může objevit kdekoli v proceduře a můžete kombinovatExit PropertyaReturnpříkazy.Návratová hodnota Chcete-li vrátit hodnotu z
Getprocedury, můžete buď přiřadit hodnotu k názvu vlastnosti nebo ji zahrnout doReturnpříkazu. Následující příklad přiřadí návratovou hodnotu k názvu vlastnostiquoteForTheDaya poté použije příkaz,Exit Propertykterý se má vrátit.Private quoteValue As String = "No quote assigned yet."ReadOnly Property QuoteForTheDay() As String Get QuoteForTheDay = quoteValue Exit Property End Get End PropertyPoužijete
Exit Property-li bez přiřazení hodnoty kname,Getprocedura vrátí výchozí hodnotu pro datový typ vlastnosti.ReturnPříkaz ve stejnou dobu přiřadíGetnávratovou hodnotu procedury a ukončí proceduru. Následující příklad ukazuje toto.Private quoteValue As String = "No quote assigned yet."ReadOnly Property QuoteForTheDay() As String Get Return quoteValue End Get End Property
Příklad
Následující příklad deklaruje vlastnost ve třídě.
Class Class1
' Define a local variable to store the property value.
Private propertyValue As String
' Define the property.
Public Property Prop1() As String
Get
' The Get property procedure is called when the value
' of a property is retrieved.
Return propertyValue
End Get
Set(ByVal value As String)
' The Set property procedure is called when the value
' of a property is modified. The value to be assigned
' is passed in the argument to Set.
propertyValue = value
End Set
End Property
End Class