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
PropertySchlüsselwort mit dem Namen der Prozedur, und der Parameterliste in Klammern.Folgen Sie den Klammern mit einer
AsKlausel, 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
PropertyundEnd Propertyeine Get-Anweisung, gefolgt von einerEnd Get-Anweisung. Sie müssen keine Parameter für dieGetProzedur definieren.Platzieren Sie die Codeanweisungen, um den Wert der Eigenschaft zwischen den Anweisungen
GetundEnd Getabzurufen. Dieser Code kann zusätzlich zum Generieren und Zurückgeben des Eigenschaftswerts weitere Berechnungen und Datenmanipulationen umfassen.Verwenden Sie eine
ReturnAnweisung, 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
PropertyAnweisung und derEnd PropertyAnweisung eine Set-Anweisung, gefolgt von einerEnd SetAnweisung.Lassen Sie in der
Set-Anweisung dem SchlüsselwortSetoptional eine Parameterliste in Klammern folgen. Wenn die Parameterliste nicht vorhanden ist oder leer ist, wird ein impliziter Parameter mit dem NamenValuedefiniert, 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
SetundEnd 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