Set-Anweisung (Visual Basic)

Aktualisiert: November 2007

Deklariert eine Set-Eigenschaftenprozedur, mit der einer Eigenschaft ein Wert zugewiesen wird.

[ <attributelist> ] [ accessmodifier ] Set (ByVal value [ As datatype ])
    [ statements ]
End Set

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.

  • value
    Erforderlich. Parameter mit dem neuen Wert für die Eigenschaft.

  • datatype
    Erforderlich, wenn Option Strict den Wert On aufweist. Der Typ des value-Parameters. Der angegebene Datentyp muss mit dem Datentyp der Eigenschaft identisch sein, in dem diese Set-Anweisung deklariert wird.

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

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

Hinweise

Jede Eigenschaft muss über eine Set-Eigenschaftenprozedur verfügen, sofern die Eigenschaft nicht als ReadOnly markiert ist. Die Set-Prozedur wird verwendet, um den Wert der Eigenschaft festzulegen.

Visual Basic ruft die Set-Prozedur einer Eigenschaft automatisch auf, wenn eine Zuweisungsanweisung einen in der Eigenschaft zu speichernden Wert bereitstellt.

Visual Basic übergibt bei Eigenschaftenzuweisungen einen Parameter an die Set-Prozedur. Wenn Sie keinen Parameter für Set angeben, verwendet die integrierte Entwicklungsumgebung (IDE) den impliziten Parameter value. Der Parameter enthält den der Eigenschaft zuzuweisenden Wert. Sie speichern diesen Wert i. d. R. in einer privaten lokalen Variablen und geben ihn bei jedem Aufruf der Get-Prozedur zurück.

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 Set-Prozedur in der Eigenschaft definieren, auf die sie angewendet wird.

Die Standardzugriffsebene der Set-Prozedur ist die Zugriffsebene der enthaltenden Eigenschaft, es sei denn, Sie verwenden in der Set-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 Set-Prozedur als Private, jedoch nicht als Public deklarieren.

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

Verhalten

  • Beenden einer Eigenschaftenprozedur. Wenn die Set-Prozedur zum aufrufenden Code zurückkehrt, wird die Ausführung nach der Anweisung fortgesetzt, die den zu speichernden Wert bereitgestellt hat.

    Set-Eigenschaftenprozeduren können entweder mit Return-Anweisung (Visual Basic) oder mit Exit-Anweisung (Visual Basic) beendet werden.

    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.

Beispiel

Im folgenden Beispiel wird mit der Set-Anweisung der Wert einer Eigenschaft festgelegt.

Class propClass
    Private propVal As Integer
    Property prop1() As Integer
        Get
            Return propVal
        End Get
        Set(ByVal value As Integer)
            propVal = value
        End Set
    End Property
End Class

Siehe auch

Aufgaben

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

Referenz

Get-Anweisung

Property-Anweisung

Sub-Anweisung (Visual Basic)