Get-Anweisung

Aktualisiert: November 2007

Deklariert eine Get-Eigenschaftenprozedur, die zum Abrufen eines Eigenschaftenwerts verwendet wird.

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

Bestandteile

  • attributelist
    Optional. Siehe Attributliste.

  • accessmodifier
    Optional für höchstens eine der Get-Anweisungen und Set-Anweisungen in dieser Eigenschaft. Einer der folgenden Werte ist möglich:

    Siehe Zugriffsebenen in Visual Basic.

  • statements
    Optional. Eine oder mehrere Anweisungen, die ausgeführt werden, wenn die Get-Eigenschaftenprozedur aufgerufen wird.

  • End Get
    Erforderlich. Beendet die Definition der Get-Eigenschaftenprozedur.

Hinweise

Jede Eigenschaft muss über eine Get-Eigenschaftenprozedur verfügen, sofern die Eigenschaft nicht als WriteOnly markiert ist. Die Get-Prozedur wird verwendet, um den aktuellen Wert der Eigenschaft zurückzugeben.

Visual Basic ruft die Get-Prozedur einer Eigenschaft automatisch auf, wenn ein Ausdruck den Wert der Eigenschaft anfordert.

Der Text der Eigenschaftendeklaration kann die Get-Prozedur und die Set-Prozedur nur zwischen der Property-Anweisung und der End Property-Anweisung enthalten. In der Deklaration können nur diese Prozeduren gespeichert werden. Der aktuelle Wert der Eigenschaft kann nicht in ihr gespeichert werden. Sie müssen diesen Wert außerhalb der Eigenschaft speichern, da die jeweils andere Eigenschaftenprozedur nicht darauf zugreifen kann, wenn Sie ihn in einer der Eigenschaftenprozeduren speichern. Die übliche Vorgehensweise besteht im Speichern des Werts in einer Private (Visual Basic)-Variablen, die auf derselben Ebene wie die Eigenschaft deklariert ist. Sie müssen eine Get-Prozedur in der Eigenschaft definieren, auf die sie angewendet wird.

Die Standardzugriffsebene der Get-Prozedur ist die Zugriffsebene der enthaltenden Eigenschaft, es sei denn, Sie verwenden in der Get-Anweisung accessmodifier.

Regeln

  • Gemischte Zugriffsebenen. Wenn Sie eine Eigenschaft mit Schreib-/Lesezugriff definieren, können Sie optional entweder für die Get-Prozedur oder für die Set-Prozedur, jedoch nicht für beide Prozeduren, eine andere Zugriffsebene festlegen. Wenn Sie auf diese Weise vorgehen, muss die Zugriffsebene der Prozedur restriktiver als die Zugriffsebene der Eigenschaft sein. Wenn beispielsweise die Eigenschaft als Friend deklariert ist, können Sie die Get-Prozedur als Private, jedoch nicht als Public deklarieren.

    Wenn Sie eine ReadOnly-Eigenschaft definieren, stellt die Get-Prozedur die gesamte Eigenschaft dar. Sie können für Get keine andere Zugriffsebene deklarieren, da hierdurch zwei Zugriffsebenen für die Eigenschaft festgelegt werden.

  • Rückgabetyp. Die Property-Anweisung kann den Datentyp des Werts deklarieren, den sie zurückgibt. Die Get-Prozedur gibt diesen Datentyp automatisch zurück. Sie können einen beliebigen Datentyp oder den Namen einer Enumeration, Struktur, Klasse oder Schnittstelle angeben.

    Wenn die Property-Anweisung nicht returntype angibt, gibt die Prozedur Object zurück.

Verhalten

  • Beenden einer Prozedur. Wenn die Get-Prozedur zum aufrufenden Code zurückkehrt, wird die Ausführung in der Anweisung fortgesetzt, die den Eigenschaftenwert angefordert hat.

    Get-Eigenschaftenprozeduren können einen Wert zurückgeben, indem sie entweder die Return-Anweisung (Visual Basic) verwenden oder dem Eigenschaftennamen den Rückgabewert zuweisen. Weitere Informationen finden Sie im Abschnitt "Rückgabewert" unter Function-Anweisung (Visual Basic).

    Die Exit Property-Anweisung und die Return-Anweisung führen zur unmittelbaren Beendigung einer Eigenschaftenprozedur. In der Prozedur können beliebig viele Exit Property-Anweisungen und Return-Anweisungen an beliebiger Stelle vorkommen, und Sie können Exit Property-Anweisungen und Return-Anweisungen kombinieren.

  • Rückgabewert. Der Wert einer Get-Prozedur wird zurückgegeben, indem Sie den Wert dem Eigenschaftennamen zuweisen oder ihn in eine Return-Anweisung (Visual Basic) einfügen. Die Return-Anweisung weist der Get-Prozedur den Rückgabewert zu und beendet gleichzeitig die Prozedur.

    Wenn Sie Exit Property verwenden, ohne dem Eigenschaftennamen einen Wert zuzuweisen, gibt die Get-Prozedur den Standardwert für den Datentyp der Eigenschaft zurück. Weitere Informationen finden Sie im Abschnitt "Rückgabewert" unter Function-Anweisung (Visual Basic).

    Im folgenden Beispiel werden zwei Verfahren veranschaulicht, mit denen die schreibgeschützte Eigenschaft quoteForTheDay den Wert in der privaten Variablen quoteValue zurückgeben kann.

    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
    

Beispiel

Im folgenden Beispiel wird mit der Get-Anweisung der Wert einer Eigenschaft zurückgegeben.

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

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen von Feldern und Eigenschaften zu einer Klasse

Referenz

Set-Anweisung (Visual Basic)

Property-Anweisung

Exit-Anweisung (Visual Basic)