Freigeben über


Gewusst wie: Erstellen einer Eigenschaft

Aktualisiert: November 2007

Eine Eigenschaftendefinition wird von einer Property-Anweisung und einer End Property-Anweisung eingeschlossen. Innerhalb dieser Definition kann eine Get-Prozedur, eine Set-Prozedur oder beides definiert werden. Der gesamte Code der Eigenschaft ist in diesen Prozeduren enthalten.

Die Get-Prozedur ruft den Eigenschaftenwert ab, während die Set-Prozedur einen Wert speichert. Wenn die Eigenschaft Lese-/Schreibzugriff haben soll, müssen Sie beide Prozeduren definieren. Soll die Eigenschaft schreibgeschützt sein, definieren Sie nur Get. Soll die Eigenschaft lesegeschützt sein, definieren Sie nur Set.

So erstellen Sie eine Eigenschaft

  1. Verwenden Sie außerhalb einer Eigenschaft oder Prozedur eine Property-Anweisung und schließen Sie eine End Property-Anweisung an.

  2. Wenn die Eigenschaft Parameter annimmt, geben Sie nach dem Property-Schlüsselwort den Namen der Prozedur und anschließend die Parameterliste in runden Klammern ein.

  3. Geben Sie nach den Klammern eine As-Klausel ein, um den Datentyp für den Eigenschaftenwert anzugeben. Der Datentyp muss auch bei einer lesegeschützten Eigenschaft angegeben werden.

  4. Fügen Sie die erforderlichen Get-Prozeduren und Set-Prozeduren hinzu. Anweisungen hierzu finden Sie im Folgenden.

So erstellen Sie eine Get-Prozedur, die einen Eigenschaftenwert abruft

  1. Geben Sie zwischen der Property-Anweisung und der End Property-Anweisung eine Get-Anweisung ein, und schließen Sie eine End Get-Anweisung an. Für die Get-Prozedur brauchen keine Parameter definiert zu werden.

  2. Fügen Sie die Codeanweisungen ein, um den Eigenschaftenwert zwischen der Get-Anweisung und der End Get-Anweisung abzurufen. Dieser Code kann neben der Generierung und der Rückgabe des Eigenschaftenwerts weitere Berechnungen und Datenbearbeitungsschritte enthalten.

  3. Geben Sie mit einer Return-Anweisung den Eigenschaftenwert an den Aufrufcode zurück.

Für eine Schreib-Lese-Eigenschaft und eine schreibgeschützte Eigenschaft müssen Sie eine Get-Prozedur schreiben. Für eine lesegeschützte Eigenschaft dürfen Sie keine Get-Prozedur definieren.

So erstellen Sie eine Set-Prozedur, die einen Eigenschaftenwert schreibt

  1. Geben Sie zwischen der Property-Anweisung und der End Property-Anweisung eine Set-Anweisung (Visual Basic) ein, und schließen Sie eine End Set-Anweisung an.

  2. Geben Sie in der Set-Anweisung nach dem Set-Schlüsselwort eine Parameterliste in Klammern ein. Diese Parameterliste muss wenigstens einen Wertparameter für den Wert enthalten, der vom Aufrufcode übergeben wird. Der Standardname für diesen Wertparameter ist Value. Sie können jedoch gegebenenfalls einen anderen Namen verwenden. Der Wertparameter muss zum gleichen Datentyp gehören wie die Eigenschaft selbst.

  3. Fügen Sie die Codeanweisungen, mit denen in der Eigenschaft ein Wert gespeichert wird, zwischen die Set-Anweisung und die End Set-Anweisung ein. Dieser Code kann neben Schritten zur Überprüfung und Speicherung des Eigenschaftenwerts weitere Berechnungen und Datenbearbeitungsschritte enthalten.

  4. Bestätigen Sie den vom Aufrufcode bereitgestellten Wert mit dem Wertparameter. Sie können diesen Wert entweder direkt in einer Zuweisungsanweisung speichern oder ihn in einem Ausdruck verwenden, um den internen zu speichernden Wert zu berechnen.

Für eine Schreib-Lese-Eigenschaft und eine lesegeschützte Eigenschaft müssen Sie eine Set-Prozedur schreiben. Für eine schreibgeschützte Eigenschaft dürfen Sie keine Set-Prozedur definieren.

Beispiel

Im folgenden Beispiel wird eine Lese-Schreib-Eigenschaft erstellt, die einen vollständigen Namen in Form zweier konstituierender Namen speichert, als Vorname und Nachname. Wenn der Aufrufcode fullName liest, kombiniert die Get-Prozedur die beiden konstituierenden Namen und gibt den vollständigen Namen zurück. Wenn der Aufrufcode einen neuen vollständigen Namen zuweist, versucht die Set-Prozedur, den Namen in zwei konstituierende Namen aufzulösen. Wird kein Leerzeichen gefunden, wird der gesamte Name 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

Im folgenden Beispiel werden typische Aufrufe der Eigenschaftenprozeduren von fullName dargestellt. Mit dem ersten Aufruf wird der Eigenschaftenwert festgelegt, mit dem zweiten Aufruf wird der Wert abgerufen.

fullName = "MyFirstName MyLastName"
MsgBox(fullName)

Siehe auch

Aufgaben

Gewusst wie: Deklarieren einer Eigenschaft mit gemischten Zugriffsebenen

Gewusst wie: Aufrufen einer Eigenschaftenprozedur

Gewusst wie: Deklarieren und Aufrufen einer Standardeigenschaft in Visual Basic

Gewusst wie: Ablegen eines Werts in eine Eigenschaft

Gewusst wie: Abrufen eines Werts aus einer Eigenschaft

Konzepte

Prozeduren in Visual Basic

Property-Prozeduren

Parameter und Argumente von Prozeduren

Unterschiede zwischen Eigenschaften und Variablen in Visual Basic