Get — Instrukcja

Deklaruje procedurę Get właściwości używaną do pobierania wartości właściwości.

Składnia

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

generatora

Termin Definicja
attributelist Opcjonalny. Zobacz Lista atrybutów.
accessmodifier Opcjonalnie dla co najwyżej jednej z instrukcji Get i Set w tej właściwości. Może być jednym z następujących elementów:

- Protected
- Friend
- Private
- Protected Friend

Zobacz Poziomy dostępu w Visual Basic.
statements Opcjonalny. Co najmniej jedna instrukcja uruchamiana po wywołaniu Get procedury właściwości.
End Get Wymagany. Przerywa definicję Get procedury właściwości.

Uwagi

Każda właściwość musi mieć procedurę Get właściwości, chyba że właściwość jest oznaczona .WriteOnly Procedura Get służy do zwracania bieżącej wartości właściwości.

Program Visual Basic automatycznie wywołuje procedurę właściwości Get , gdy wyrażenie żąda wartości właściwości.

Treść deklaracji właściwości może zawierać tylko właściwości Get i procedury między instrukcją Właściwości a instrukcją End PropertySet . Nie może przechowywać niczego innego niż te procedury. W szczególności nie może przechowywać bieżącej wartości właściwości. Tę wartość należy przechowywać poza właściwością, ponieważ jeśli przechowujesz ją wewnątrz jednej z procedur właściwości, inna procedura właściwości nie może uzyskać do niej dostępu. Zwykle metoda polega na przechowywaniu wartości w zmiennej prywatnej zadeklarowanej na tym samym poziomie co właściwość. Należy zdefiniować procedurę Get wewnątrz właściwości, do której ma zastosowanie.

Procedura Get jest domyślnie ustawiona na poziom dostępu jego właściwości zawierającej, chyba że zostanie użyta accessmodifier w instrukcji Get .

Reguły

  • Mieszane poziomy dostępu. Jeśli definiujesz właściwość odczytu i zapisu, możesz opcjonalnie określić inny poziom dostępu dla Get procedury lub Set , ale nie dla obu tych metod. Jeśli to zrobisz, poziom dostępu do procedury musi być bardziej restrykcyjny niż poziom dostępu właściwości. Jeśli na przykład właściwość jest zadeklarowana Friend, można zadeklarować procedurę GetPrivate, ale nie Public.

    Jeśli definiujesz ReadOnly właściwość, Get procedura reprezentuje całą właściwość. Nie można zadeklarować innego poziomu dostępu dla Getelementu , ponieważ spowoduje to ustawienie dwóch poziomów dostępu dla właściwości .

  • Zwracany typ. Instrukcja właściwości może zadeklarować typ danych zwracanej wartości. Procedura Get automatycznie zwraca ten typ danych. Można określić dowolny typ danych lub nazwę wyliczenia, struktury, klasy lub interfejsu.

    Jeśli instrukcja nie określi Propertyreturntype, procedura zwraca wartość Object.

Zachowanie

  • Powrót z procedury. Get Gdy procedura powróci do kodu wywołującego, wykonanie będzie kontynuowane w instrukcji, która zażądała wartości właściwości.

    Get Procedury właściwości mogą zwracać wartość przy użyciu instrukcji Return lub przez przypisanie wartości zwracanej do nazwy właściwości. Aby uzyskać więcej informacji, zobacz "Zwracana wartość" w instrukcji funkcji.

    Instrukcje Exit Property i Return powodują natychmiastowe wyjście z procedury właściwości. Dowolna liczba instrukcji Exit Property i Return może być wyświetlana w dowolnym miejscu procedury i można mieszać Exit Property i Return instrukcje.

  • Wartość zwracana. Aby zwrócić wartość z Get procedury, możesz przypisać wartość do nazwy właściwości lub dołączyć ją do instrukcji Return. Instrukcja Return jednocześnie przypisuje wartość zwracaną Get przez procedurę i kończy procedurę.

    Jeśli nie Exit Property przypiszesz wartości do nazwy właściwości, Get procedura zwraca wartość domyślną dla typu danych właściwości. Aby uzyskać więcej informacji, zobacz "Zwracana wartość" w instrukcji funkcji.

    Poniższy przykład ilustruje dwa sposoby, w jaki właściwość quoteForTheDay tylko do odczytu może zwrócić wartość przechowywaną w zmiennej quoteValueprywatnej .

    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
    

Przykład

W poniższym przykładzie użyto instrukcji , Get aby zwrócić wartość właściwości.

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

Zobacz też