Get-Anweisung

Deklariert eine Get-Eigenschaftenprozedur, mit der der Wert einer Eigenschaft abgerufen wird.

Syntax

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

Bestandteile

Begriff Definition
attributelist Dies ist optional. Siehe Attributliste.
accessmodifier Optional für höchstens eine der Get- und Set-Anweisungen in dieser Eigenschaft. Dabei kann es sich um eine der folgenden Methoden handeln:

- Protected
- Friend
- Privat
- Protected Friend

Siehe Access levels in Visual Basic.
statements Optional. Mindestens eine Anweisung, die ausgeführt wird, wenn die Get-Eigenschaftenprozedur aufgerufen wird.
End Get Erforderlich. Beendet die Definition der Get-Eigenschaftenprozedur.

Bemerkungen

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

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

Der Text der Eigenschaftendeklaration kann nur die Get- und Set-Prozeduren der Eigenschaft zwischen der Eigenschaftenanweisung und der End Property-Anweisung enthalten. Es kann nichts anderes als diese Prozeduren gespeichert werden. Insbesondere kann der aktuelle Wert der Eigenschaft nicht gespeichert werden. Sie müssen diesen Wert außerhalb der Eigenschaft speichern, denn wenn Sie ihn in einer der Eigenschaftenprozeduren speichern, kann die andere Eigenschaftenprozedur nicht darauf zugreifen. Der übliche Ansatz besteht darin, den Wert in einer Private-Variablen zu speichern, die auf derselben Ebene wie die Eigenschaft deklariert wird. Sie müssen eine Get-Prozedur in der Eigenschaft definieren, für die sie gilt.

Die Get-Prozedur verwendet standardmäßig die Zugriffsebene ihrer enthaltenden Eigenschaft, es sei denn, Sie verwenden accessmodifier in der Get-Anweisung.

Regeln

  • Gemischte Zugriffsebenen. Wenn Sie eine Lese-/Schreibeigenschaft definieren, können Sie optional eine andere Zugriffsebene für die Get- oder Set-Prozedur angeben, aber nicht für beide. In diesem Fall muss die Zugriffsebene der Prozedur restriktiver sein als die Zugriffsebene der Eigenschaft. Wenn die Eigenschaft beispielsweise als Friend deklariert ist, können Sie die Get-Prozedur als Private deklarieren, aber nicht als Public.

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

  • Rückgabetyp. Die Eigenschaftenanweisung kann den Datentyp des zurückgegebenen Werts deklarieren. 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

  • Nach dem Abschluss einer Prozedur. Wenn die Get-Prozedur zum aufrufenden Code zurückkehrt, wird die Ausführung innerhalb der Anweisung fortgesetzt, die den Eigenschaftswert angefordert hat.

    Get-Eigenschaftenprozeduren können einen Wert entweder mithilfe der Return-Anweisung oder durch Zuweisen des Rückgabewerts zum Eigenschaftennamen zurückgeben. Weitere Informationen finden Sie unter „Rückgabewert“ in Function-Anweisung.

    Die Exit Property- und Return-Anweisungen führen zum sofortigen Beenden einer Eigenschaftenprozedur. Eine beliebige Anzahl von Exit Property- und Return-Anweisungen kann an einer beliebigen Stelle in der Prozedur auftreten, und Sie können Exit Property- und Return-Anweisungen mischen.

  • Rückgabewert. Um einen Wert aus einer Get-Prozedur zurückzugeben, können Sie den Wert entweder dem Eigenschaftsnamen zuweisen oder ihn in eine Return-Anweisung einschließen. Die Return-Anweisung weist gleichzeitig den Rückgabewert der Get-Prozedur zu und beendet die Prozedur.

    Wenn Sie Exit Property verwenden, ohne dem Eigenschaftennamen einen Wert zu zuweisen, gibt die Get-Prozedur den Standardwert für den Datentyp der Eigenschaft zurück. Weitere Informationen finden Sie unter „Rückgabewert“ in Function-Anweisung.

    Im folgenden Beispiel werden zwei Möglichkeiten gezeigt, wie die schreibgeschützte Eigenschaft quoteForTheDay den Wert zurückgeben kann, der in der privaten Variablen quoteValue enthalten ist.

    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 die Get-Anweisung verwendet, um den Wert einer Eigenschaft zurückzugeben.

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