Freigeben über


Get-Anweisung

Deklariert eine Get Eigenschaftsprozedur, die zum Abrufen des Werts einer Eigenschaft verwendet wird.

Syntax

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

Bestandteile

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

- Geschützt
- Freund
- Privat
- Protected Friend

Siehe Access-Ebenen in Visual Basic.
statements Wahlfrei. Eine oder mehrere Anweisungen, die ausgeführt werden, wenn die Get Eigenschaftsprozedur aufgerufen wird.
End Get Erforderlich. Beendet die Definition der Get Eigenschaftsprozedur.

Bemerkungen

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

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

Der Textkörper der Eigenschaftsdeklaration kann nur die Eigenschaften und Prozeduren zwischen der Property-AnweisungGet und Set der End Property Anweisung enthalten. Es kann nichts anderes als diese Prozeduren speichern. Insbesondere kann der aktuelle Wert der Eigenschaft nicht gespeichert werden. Sie müssen diesen Wert außerhalb der Eigenschaft speichern, da die andere Eigenschaftsprozedur nicht darauf zugreifen kann, wenn Sie ihn in einer der Eigenschaftenprozeduren speichern. Der übliche Ansatz besteht darin, den Wert in einer privaten Variablen zu speichern, die auf derselben Ebene wie die Eigenschaft deklariert wird. Sie müssen eine Get Prozedur innerhalb der Eigenschaft definieren, auf die sie angewendet wird.

Die Get Prozedur ist standardmäßig auf die Zugriffsebene der zugehörigen Eigenschaft festgelegt, es sei denn, Sie verwenden accessmodifier sie in der Get Anweisung.

Regeln

  • Gemischte Zugriffsebenen. Wenn Sie eine Eigenschaft mit Lese-/Schreibzugriff definieren, können Sie optional eine andere Zugriffsebene für die Get Prozedur oder die Set Prozedur angeben, aber nicht beides. In diesem Fall muss die Zugriffsebene der Prozedur restriktiver sein als die Zugriffsebene der Eigenschaft. Wenn die Eigenschaft beispielsweise deklariert Friendist, können Sie die Get Prozedur Privatedeklarieren, aber nicht Public.

    Wenn Sie eine ReadOnly Eigenschaft definieren, stellt die Get Prozedur die gesamte Eigenschaft dar. Sie können keine andere Zugriffsebene für Getdie Eigenschaft deklarieren, da dies zwei Zugriffsebenen für die Eigenschaft festlegen würde.

  • Rückgabetyp. Die Property-Anweisung 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 angegeben returntypewird, wird die Prozedur zurückgegeben Object.

Verhalten

  • Wird von einer Prozedur zurückgegeben. Wenn die Get Prozedur an den aufrufenden Code zurückgegeben wird, wird die Ausführung innerhalb der Anweisung fortgesetzt, die den Eigenschaftswert angefordert hat.

    Get Eigenschaftsprozeduren können einen Wert entweder mithilfe der Return-Anweisung zurückgeben oder den Rückgabewert dem Eigenschaftsnamen zuweisen. Weitere Informationen finden Sie unter "Return Value" in Function Statement.

    Die Exit Property Anweisungen führen Return zu einem sofortigen Beenden einer Eigenschaftsprozedur. Eine beliebige Anzahl von Exit Property Anweisungen Return kann an einer beliebigen Stelle in der Prozedur angezeigt werden, und Sie können diese kombinieren und Return anweisungen verwendenExit Property.

  • 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 Get Rückgabewert der Prozedur zu und beendet die Prozedur.

    Wenn Sie ohne Zuweisen eines Werts zum Eigenschaftsnamen verwenden Exit Property , gibt die Get Prozedur den Standardwert für den Datentyp der Eigenschaft zurück. Weitere Informationen finden Sie unter "Return Value" in Function Statement.

    Das folgende Beispiel veranschaulicht zwei Möglichkeiten, wie die schreibgeschützte Eigenschaft quoteForTheDay den In der privaten Variablen quoteValuegehaltenen Wert 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 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