Gewusst wie: Erstellen einer Eigenschaft (Visual Basic)
Sie schließen eine Eigenschaftsdefinition zwischen einer Property
-Anweisung und einer End Property
-Anweisung ein. Innerhalb dieser Definition definieren Sie eine Get
-Prozedur oder eine Set
-Prozedur oder beide. Der gesamte Code der Eigenschaft befindet sich in diesen Prozeduren.
Die Get
-Prozedur ruft den Wert der Eigenschaft ab, und die Set
-Prozedur speichert einen Wert. Wenn die Eigenschaft Lese-/Schreibzugriff haben soll, müssen Sie beide Prozeduren definieren. Für eine schreibgeschützte Eigenschaft definieren Sie nur Get
, und für eine lesegeschützte Eigenschaft definieren Sie nur Set
.
So erstellen Sie eine Eigenschaft
Verwenden Sie außerhalb einer Eigenschaft oder Prozedur eine Property-Anweisung, gefolgt von einer
End Property
-Anweisung.Wenn die Eigenschaft Parameter akzeptiert, lassen Sie auf das Schlüsselwort
Property
den Namen der Prozedur folgen, dann die Parameterliste in Klammern.Fügen Sie hinter den Klammern eine
As
-Klausel ein, um den Datentyp des Werts der Eigenschaft anzugeben. Sie müssen den Datentyp auch für eine lesegeschützte Eigenschaft angeben.Fügen Sie die Prozeduren
Get
undSet
nach Bedarf hinzu. Sehen Sie sich die folgenden Anweisungen an.
So erstellen Sie eine Get-Prozedur, die einen Eigenschaftswert abruft
Schreiben Sie zwischen den Anweisungen
Property
undEnd Property
eine Get-Anweisung, gefolgt von einerEnd Get
-Anweisung. Sie müssen keine Parameter für dieGet
-Prozedur definieren.Platzieren Sie die Codeanweisungen zum Abrufen des Werts der Eigenschaft zwischen den Anweisungen
Get
undEnd Get
. Dieser Code kann zusätzlich zum Generieren und Zurückgeben des Werts der Eigenschaft weitere Berechnungen und Datenbearbeitungen enthalten.Verwenden Sie eine
Return
-Anweisung, um den Wert der Eigenschaft an den aufrufenden Code zurückzugeben.
Sie müssen eine Get
-Prozedur für eine Lese-/Schreibeigenschaft und für eine schreibgeschützte Eigenschaft schreiben. Für eine lesegeschützte Eigenschaft dürfen Sie keine Get
-Prozedur definieren.
So erstellen Sie eine Set-Prozedur, die den Wert einer Eigenschaft schreibt
Schreiben Sie zwischen den Anweisungen
Property
undEnd Property
eine Set-Anweisung, gefolgt von einerEnd Set
-Anweisung.Lassen Sie in der
Set
-Anweisung dem SchlüsselwortSet
optional eine Parameterliste in Klammern folgen. Wenn die Parameterliste nicht vorhanden oder leer ist, wird ein impliziter Parameter namensValue
definiert, dessen Typ der Typ der Eigenschaft selbst ist. Wenn die Parameterliste nicht leer ist, können Sie ggf. einen anderen Namen verwenden, aber der Parameter muss denselben Datentyp wie die Eigenschaft selbst aufweisen.Platzieren Sie die Codeanweisungen zum Speichern eines Werts in der Eigenschaft zwischen den Anweisungen
Set
undEnd Set
. Dieser Code kann zusätzlich zum Überprüfen und Speichern des Werts der Eigenschaft weitere Berechnungen und Datenbearbeitungen enthalten.Verwenden Sie den value-Parameter, um den vom aufrufenden Code angegebenen Wert zu akzeptieren. Sie können diesen Wert entweder direkt in einer Zuweisungsanweisung speichern oder ihn in einem Ausdruck verwenden, um den zu speichernden internen Wert zu berechnen.
Sie müssen eine Set
-Prozedur für eine Lese-/Schreibeigenschaft und für eine lesegeschützte Eigenschaft schreiben. Für eine schreibgeschützte Eigenschaft dürfen Sie keine Set
-Prozedur definieren.
Beispiel
Im folgenden Beispiel wird eine Lese-/Schreibeigenschaft erstellt, die einen vollständigen Namen als zwei Namensbestandteile speichert, den Vornamen und den Nachnamen. Wenn der aufrufende Code fullName
liest, kombiniert die Get
-Prozedur die beiden Namensbestandteile und gibt den vollständigen Namen zurück. Wenn der aufrufende Code einen neuen vollständigen Namen zuweist, versucht die Set
-Prozedur, ihn in zwei Namensbestandteile zu unterteilen. Wenn kein Leerzeichen gefunden wird, wird alles als Vorname gespeichert.
Dim firstName, lastName As String
Property fullName() As String
Get
If lastName = "" Then
Return firstName
Else
Return firstName & " " & lastName
End If
End Get
Set(ByVal Value As String)
Dim space As Integer = Value.IndexOf(" ")
If space < 0 Then
firstName = Value
lastName = ""
Else
firstName = Value.Substring(0, space)
lastName = Value.Substring(space + 1)
End If
End Set
End Property
Das folgende Beispiel zeigt typische Aufrufe der Eigenschaftsprozeduren von fullName
. Der erste Aufruf legt den Eigenschaftswert fest, und der zweite Aufruf ruft ihn ab.
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
Weitere Informationen
- Vorgehensweisen
- Eigenschaftenprozeduren
- Parameter und Argumente von Prozeduren
- Unterschiede zwischen Eigenschaften und Variablen in Visual Basic
- Vorgehensweise: Deklarieren einer Eigenschaft mit gemischten Zugriffsebenen
- Vorgehensweise: Aufrufen einer Eigenschaftenprozedur
- Gewusst wie: Deklarieren und Aufrufen einer Standardeigenschaft in Visual Basic
- Vorgehensweise: Ablegen eines Werts in eine Eigenschaft
- Vorgehensweise: Abrufen eines Werts aus einer Eigenschaft