Sdílet prostřednictvím


Get – příkaz

Deklaruje proceduru Get vlastnosti použitou k načtení hodnoty vlastnosti.

Syntaxe

[ <attributelist> ] [ accessmodifier ] Get()  
    [ statements ]  
End Get  

Součástky

Pojem definice
attributelist Nepovinné. 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í:

- Protected
- Friend
- Private
- Protected Friend

Viz úrovně Accessu v jazyce Visual Basic.
statements Nepovinné. Jeden nebo více příkazů, které se spustí při Get volání procedury vlastnosti.
End Get Povinný: Ukončí definici Get procedury vlastnosti.

Poznámky

Každá vlastnost musí mít proceduru Get vlastnosti, pokud není vlastnost označena WriteOnly. Procedura Get slouží k vrácení aktuální hodnoty vlastnosti.

Visual Basic automaticky volá proceduru Get vlastnosti, když výraz požaduje hodnotu vlastnosti.

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 Get uvnitř vlastnosti, na kterou se vztahuje.

Výchozí Get hodnota procedury je úroveň přístupu jeho obsahující vlastnosti, pokud v Get 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 GetSet postup, 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ána Friend, můžete deklarovat proceduru GetPrivate, ale nikoli Public.

    Pokud definujete ReadOnly vlastnost, procedura Get představuje celou vlastnost. Nelze deklarovat jinou úroveň přístupu pro Get, protože by to nastavilo dvě úrovně přístupu pro vlastnost.

  • Návratový typ Příkaz Property může deklarovat datový typ hodnoty, kterou 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 příkaz Property neurčí returntype, procedura vrátí Object.

Chování

  • Vrací se z procedury. Když se procedura Get vrátí do volajícího kódu, provádění pokračuje v příkazu, který požadoval 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 naleznete v tématu Návratová hodnota v příkazu funkce.

    Příkazy Exit Property a Return příkazy způsobují okamžitý výstup z procedury vlastnosti. Libovolný počet Exit Property příkazů a Return příkazů se může objevit kdekoli v postupu a můžete kombinovat Exit Property a Return příkazy.

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

    Pokud použijete Exit Property bez přiřazení hodnoty k názvu vlastnosti, Get vrátí procedura výchozí hodnotu pro datový typ vlastnosti. Další informace naleznete v tématu Návratová hodnota v příkazu funkce.

    Následující příklad ukazuje dva způsoby, jak může vlastnost quoteForTheDay jen pro čtení vrátit hodnotu uloženou 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é