Get – příkaz
Deklaruje Get proceduru vlastnosti použitou k načtení hodnoty vlastnosti.
Syntax
[ <attributelist> ] [ accessmodifier ] Get()
[ statements ]
End Get
Součásti
| Pojem | Definice |
|---|---|
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í:- Chráněné - Přítel - Soukromé - Protected FriendViz Úrovně přístupu v Visual Basic. |
statements |
Nepovinný parametr. Jeden nebo více příkazů, které se spustí při Get volání procedury vlastnosti. |
End Get |
Povinná hodnota. Ukončí definici Get procedury vlastnosti. |
Poznámky
Každá vlastnost musí mít Get proceduru vlastnosti, pokud není vlastnost označená jako WriteOnly . Procedura Get slouží k vrácení aktuální hodnoty vlastnosti .
Visual Basic automaticky volá proceduru Get vlastnosti, když výraz vyžádá hodnotu vlastnosti.
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 Get proceduru uvnitř vlastnosti, na kterou se vztahuje.
Procedura Get je ve výchozím nastavení nastavena na úroveň přístupu vlastnosti obsahující ji, pokud v příkazu accessmodifier Get 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 deklarovatGetproceduru , ale nePrivatePublic.Pokud definujete
ReadOnlyvlastnost,Getprocedura představuje celou vlastnost. Nelze deklarovat jinou úroveň přístupu proGet, protože tím se nastaví dvě úrovně přístupu pro vlastnost .Návratový typ. Příkaz Property může deklarovat datový typ hodnoty, která vrací. Procedura
Getautomaticky vrátí tento datový typ. Můžete zadat libovolný datový typ nebo název výčtu, struktury, třídy nebo rozhraní.Pokud
Propertypříkaz nezadáreturntype, procedura vrátíObject.
Chování
Vrácení z procedury Když se
Getprocedura vrátí do volajícího kódu, provádění pokračuje v rámci příkazu, který požaduje hodnotu vlastnosti.GetProcedury vlastnosti mohou vrátit hodnotu pomocí příkazu Return nebo přiřazením návratové hodnoty k názvu vlastnosti. Další informace najdete v části "Vrácená hodnota" v příkazu funkce.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.Vrácená hodnota. Pokud chcete vrátit hodnotu z procedury, můžete ji buď přiřadit k názvu vlastnosti, nebo ji
Getzahrnout do příkazu Return. PříkazReturnsoučasně přiřadí návratovou hodnotuGetprocedury a ukončí proceduru.Pokud použijete bez přiřazení hodnoty k názvu vlastnosti, procedura vrátí výchozí hodnotu pro
Exit PropertyGetdatový typ vlastnosti. Další informace najdete v části "Vrácená hodnota" v příkazu funkce.Následující příklad znázorňuje dva způsoby, jak může vlastnost jen pro čtení vrátit
quoteForTheDayhodnotu v privátní proměnnéquoteValue.Private quoteValue As String = "No quote assigned yet."ReadOnly Property QuoteForTheDay() As String Get QuoteForTheDay = quoteValue Exit Property End Get End PropertyReadOnly Property QuoteForTheDay() As String Get Return quoteValue End Get End Property
Příklad
Následující příklad používá Get příkaz k vrácení hodnoty vlastnosti.
Class propClass
' Define a private local variable to store the property value.
Private currentTime As String
' Define the read-only property.
Public ReadOnly Property DateAndTime() As String
Get
' The Get procedure is called automatically when the
' value of the property is retrieved.
currentTime = CStr(Now)
' Return the date and time As a string.
Return currentTime
End Get
End Property
End Class