Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Deklariert eine Set Eigenschaftsprozedur, die zum Zuweisen eines Werts zu einer Eigenschaft verwendet wird.
Syntax
[ <attributelist> ] [ accessmodifier ] Set [([ByVal value [ As datatype ]])]
[ statements ]
End Set
Bestandteile
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:
Siehe Access-Ebenen in Visual Basic.
value
Wahlfrei. Parameter, der den neuen Wert für die Eigenschaft enthält. Wenn nicht angegeben (d. h., wenn die Parameterliste nicht vorhanden oder leer ist), wird ein impliziter Parameter mit dem Namen value definiert. Der Datentyp dieses impliziten Parameters ist der Datentyp der Eigenschaft, in der diese Set Anweisung deklariert wird.
datatype
Erforderlich, wenn value vorhanden und Option Strict ist On. Kann nicht vorhanden sein, wenn value nicht angegeben wird. Datentyp des value Parameters. Der angegebene Datentyp muss mit dem Datentyp der Eigenschaft identisch sein, in der diese Set Anweisung deklariert wird.
statements
Wahlfrei. Eine oder mehrere Anweisungen, die ausgeführt werden, wenn die Set Eigenschaftsprozedur aufgerufen wird.
End Set
Erforderlich. Beendet die Definition der Set Eigenschaftsprozedur.
Bemerkungen
Jede Eigenschaft muss über eine Eigenschaftsprozedur Set verfügen, es sei denn, die Eigenschaft ist markiert ReadOnly. Die Set Prozedur wird verwendet, um den Wert der Eigenschaft festzulegen.
Visual Basic ruft die Prozedur einer Eigenschaft Set automatisch auf, wenn eine Zuordnungsanweisung einen Wert bereitstellt, der in der Eigenschaft gespeichert werden soll.
Visual Basic übergibt während der Eigenschaftszuweisungen einen Parameter an die Set Prozedur. Wenn Sie keinen Parameter angeben Set, verwendet die integrierte Entwicklungsumgebung (Integrated Development Environment, IDE) einen impliziten Parameter namens value. Der Parameter enthält den Wert, der der Eigenschaft zugewiesen werden soll. Sie speichern diesen Wert in der Regel in einer privaten lokalen Variablen und geben ihn bei jedem Aufruf der Get Prozedur zurück.
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 Set Prozedur innerhalb der Eigenschaft definieren, auf die sie angewendet wird.
Die Set Prozedur ist standardmäßig auf die Zugriffsebene der zugehörigen Eigenschaft festgelegt, es sei denn, Sie verwenden accessmodifier sie in der Set Anweisung.
Regeln
Gemischte Zugriffsebenen. Wenn Sie eine Eigenschaft mit Lese-/Schreibzugriff definieren, können Sie optional eine andere Zugriffsebene für die
GetProzedur oder dieSetProzedur angeben, aber nicht beides. In diesem Fall muss die Zugriffsebene der Prozedur restriktiver sein als die Zugriffsebene der Eigenschaft. Wenn die Eigenschaft beispielsweise deklariertFriendist, können Sie dieSetProzedurPrivatedeklarieren, aber nichtPublic.Wenn Sie eine
WriteOnlyEigenschaft definieren, stellt dieSetProzedur die gesamte Eigenschaft dar. Sie können keine andere Zugriffsebene fürSetdie Eigenschaft deklarieren, da dies zwei Zugriffsebenen für die Eigenschaft festlegen würde.
Verhalten
Wird von einer Eigenschaftsprozedur zurückgegeben. Wenn die
SetProzedur an den aufrufenden Code zurückgegeben wird, wird die Ausführung nach der Anweisung fortgesetzt, die den zu speichernden Wert bereitgestellt hat.SetEigenschaftsprozeduren können entweder mithilfe der Return-Anweisung oder der Exit-Anweisung zurückgegeben werden.Die
Exit PropertyAnweisungen führenReturnzu einem sofortigen Beenden einer Eigenschaftsprozedur. Eine beliebige Anzahl vonExit PropertyAnweisungenReturnkann an einer beliebigen Stelle in der Prozedur angezeigt werden, und Sie können diese kombinieren undReturnanweisungen verwendenExit Property.
Beispiel
Im folgenden Beispiel wird die Set Anweisung verwendet, um den Wert einer Eigenschaft festzulegen.
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