Gewusst wie: Aufrufen einer Operatorprozedur (Visual Basic)

Eine Operatorprozedur wird aufgerufen, indem Sie das Operatorsymbol in einem Ausdruck verwenden. Im Fall eines Konvertierungsoperators rufen Sie die CType-Funktion auf, um einen Wert von einem Datentyp in einen anderen zu konvertieren.

Operatorprozeduren werden nicht explizit aufgerufen. Sie nutzen dafür einfach den Operator oder die CType-Funktion in einer Zuweisungsanweisung oder einem Ausdruck, wie Sie sonst einen Operator verwenden würden. Visual Basic ruft die Operatorprozedur auf.

Das Definieren eines Operators für eine Klasse oder Struktur wird auch als Überladen des Operators bezeichnet.

Aufrufen einer Operatorprozedur

  1. Verwenden Sie das Operatorsymbol wie gewohnt in einem Ausdruck.

  2. Stellen Sie sicher, dass die Datentypen der Operanden für den Operator geeignet und in der richtigen Reihenfolge sind.

  3. Der Operator trägt wie erwartet zum Wert des Ausdrucks bei.

Aufrufen einer Konvertierungsoperatorprozedur

  1. Verwenden Sie CType in einem Ausdruck.

  2. Stellen Sie sicher, dass die Datentypen der Operanden für die Konvertierung geeignet und in der richtigen Reihenfolge sind.

  3. CType ruft die Konvertierungsoperatorprozedur auf und gibt den konvertierten Wert zurück.

Beispiel

Im folgenden Beispiel werden zwei TimeSpan-Strukturen erstellt, zusammengefügt und dann das Ergebnis in einer dritten TimeSpan-Struktur gespeichert. Die TimeSpan-Struktur definiert Operatorprozeduren zum Überladen mehrerer Standardoperatoren.

Dim firstSpan As New TimeSpan(3, 30, 0)
Dim secondSpan As New TimeSpan(1, 30, 30)
Dim combinedSpan As TimeSpan = firstSpan + secondSpan
Dim s As String = firstSpan.ToString() & 
          " + " & secondSpan.ToString() & 
          " = " & combinedSpan.ToString()
MsgBox(s)

Da TimeSpan den Standardoperator + überlädt, ruft das vorherige Beispiel eine Operatorprozedur auf, wenn der Wert von combinedSpan berechnet wird.

Ein Beispiel für das Aufrufen einer Konvertierungsoperatorprozedur finden Sie unter Verwenden einer Klasse, die Operatoren definiert.

Kompilieren des Codes

Stellen Sie sicher, dass die von Ihnen verwendete Klasse oder Struktur den Operator definiert, den Sie verwenden möchten.

Siehe auch