Freigeben über


Gewusst wie: Definieren mehrerer Versionen einer Prozedur

Aktualisiert: November 2007

Sie können durch Überladen mehrere Versionen einer Prozedur definieren. Es wird dann für jede Version der gleiche Name, jedoch eine andere Parameterliste verwendet. Durch die Überladung können mehrere eng verknüpfte Prozedurversionen definiert werden, ohne dass diese nach Namen voneinander unterschieden werden müssen.

Weitere Informationen hierzu finden Sie unter Prozedurüberladung.

So definieren Sie mehrere Versionen einer Prozedur

  1. Schreiben Sie eine Sub- oder Function-Deklarationsanweisung für jede Version der Prozedur, die Sie definieren möchten. Verwenden Sie in jeder Deklaration den gleichen Prozedurnamen.

  2. Stellen Sie in jeder Deklaration das Overloads-Schlüsselwort dem Sub-Schlüsselwort bzw. dem Function-Schlüsselwort voran. Sie können das Overloads-Schlüsselwort in den Deklarationen auch weglassen. Wenn Sie es aber in einer Deklaration angeben, müssen Sie es auch in allen anderen Deklarationen angeben.

  3. Fügen Sie nach der Deklarationsanweisung den Prozedurcode für den speziellen Fall ein, in dem der Aufrufcode Argumente für die Parameterliste der betreffenden Version angibt. Sie müssen nicht überprüfen, welche Parameter der Aufrufcode angibt. Visual Basic übergibt die Steuerung an die passende Prozedurversion.

  4. Beenden Sie jede Version der Prozedur je nach Bedarf mit einer End Sub-Anweisung oder einer End Function-Anweisung.

Beispiel

Im folgenden Beispiel wird eine Sub-Prozedur definiert, die eine Transaktion übermittelt, die mit dem Kontostand eines Kunden verrechnet werden soll. Hier werden mithilfe des Overloads-Schlüsselworts zwei Versionen der Prozedur definiert; eine Version erwartet die Angabe des Namens des Kunden und die andere seine Kontonummer.

Overloads Sub post(ByVal custName As String, ByVal amount As Single)
    ' Insert code to access customer record by customer name.
End Sub
Overloads Sub post(ByVal custAcct As Integer, ByVal amount As Single)
    ' Insert code to access customer record by account number.
End Sub

Der Aufrufcode kann die Kundenkennung entweder als String oder als Integer-Wert abrufen und dann in beiden Fällen dieselbe Aufrufanweisung verwenden.

Informationen dazu, wie diese beiden Versionen der post-Prozedur aufgerufen werden, finden Sie unter Gewusst wie: Aufrufen einer überladenen Prozedur.

Kompilieren des Codes

Stellen Sie sicher, dass jede der überladenen Versionen den gleichen Prozedurnamen, aber eine andere Parameterliste hat.

Siehe auch

Aufgaben

Verfahren zur Problembehandlung

Gewusst wie: Überladen einer Prozedur mit optionalen Parametern

Gewusst wie: Überladen einer Prozedur mit einer unbestimmten Anzahl von Parametern

Konzepte

Prozeduren in Visual Basic

Parameter und Argumente von Prozeduren

Überlegungen zur Prozedurüberladung

Überladungsauflösung