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.
Sie schließen eine Eigenschaftsdefinition zwischen einer Property
Anweisung und einer End Property
Anweisung ein. In dieser Definition definieren Sie eine Get
Prozedur, eine Set
Prozedur oder beides. Der gesamte Code des Eigentums liegt 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. Bei einer Nur-Lese-Eigenschaft definieren Sie nur Get
, und für eine Nur-Schreib-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, folgen Sie dem
Property
Schlüsselwort mit dem Namen der Prozedur, und der Parameterliste in Klammern.Folgen Sie den Klammern mit einer
As
Klausel, um den Datentyp des Werts der Eigenschaft anzugeben. Sie müssen den Datentyp auch für eine nur schreibbare Eigenschaft angeben.Fügen Sie, falls angebracht,
Get
- undSet
-Verfahren hinzu. Sehen Sie 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, um den Wert der Eigenschaft zwischen den Anweisungen
Get
undEnd Get
abzurufen. Dieser Code kann zusätzlich zum Generieren und Zurückgeben des Eigenschaftswerts weitere Berechnungen und Datenmanipulationen umfassen.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. Sie dürfen keine Get
Prozedur für eine rein schreibbare Eigenschaft definieren.
So erstellen Sie eine Set-Prozedur, die den Wert einer Eigenschaft schreibt
Schreiben Sie zwischen der
Property
Anweisung und derEnd Property
Anweisung 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 ist oder leer ist, wird ein impliziter Parameter mit dem NamenValue
definiert, dessen 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 haben.Platzieren Sie die Codeanweisungen zum Speichern eines Werts in der Eigenschaft zwischen den Anweisungen
Set
undEnd Set
. Dieser Code kann zusätzlich zur Überprüfung und Speicherung des Werts der Eigenschaft andere Berechnungen und Datenmanipulationen umfassen.Verwenden Sie den Wertparameter, um den vom aufrufenden Code bereitgestellten Wert zu akzeptieren. Sie können diesen Wert entweder direkt in einer Zuordnungsanweisung speichern oder 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 Bestandteilnamen, den Vornamen und den Nachnamen speichert. 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)
Siehe auch
- 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