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
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.
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.
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.
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
Parameter und Argumente von Prozeduren