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 Friend

Viz Ú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 Get Set ne 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ána Friend , můžete deklarovat Get proceduru , ale ne Private Public .

    Pokud definujete ReadOnly vlastnost, Get procedura představuje celou vlastnost. Nelze deklarovat jinou úroveň přístupu pro Get , 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 Get automaticky vrátí tento datový typ. Můžete zadat libovolný datový typ nebo název výčtu, struktury, třídy nebo rozhraní.

    Pokud Property příkaz nezadá returntype , procedura vrátí Object .

Chování

  • Vrácení z procedury Když se Get procedura vrátí do volajícího kódu, provádění pokračuje v rámci příkazu, který požaduje hodnotu vlastnosti.

    Get Procedury 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 Property Return a způsobí okamžitý ukončení procedury vlastnosti. Libovolný počet příkazů Exit Property a se může objevit kdekoli v postupu a můžete Return kombinovat příkazy Exit Property a Return .

  • Vrácená hodnota. Pokud chcete vrátit hodnotu z procedury, můžete ji buď přiřadit k názvu vlastnosti, nebo ji Get zahrnout do příkazu Return. Příkaz Return současně přiřadí návratovou hodnotu Get procedury a ukončí proceduru.

    Pokud použijete bez přiřazení hodnoty k názvu vlastnosti, procedura vrátí výchozí hodnotu pro Exit Property Get datový 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 quoteForTheDay hodnotu 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 Property
    
    ReadOnly 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

Viz také