Gewusst wie: Übergeben von Argumenten an eine Prozedur durch Namen
Aktualisiert: November 2007
Im Aufruf einer Sub-Prozedur oder Function-Prozedur können Argumente nach Namen an die Prozedur übergeben werden, und zwar unabhängig von der Reihenfolge, in welcher die entsprechenden Parameter in der Definition der Prozedur angegeben sind.
Durch die Übergabe von Argumenten nach Namen wird der Code besser lesbar, weil die Argumentwerte im Prozeduraufruf damit aussagekräftiger sind. Wenn die Prozedur über optionale Parameter verfügt, können Sie durch die Übergabe nach Namen auch leichter den Überblick darüber behalten, welche Argumente übergeben und welche weggelassen werden.
Erläuterungen zu Regeln und Beschränkungen hinsichtlich der Angabe von Argumenten nach Namen finden Sie unter Argumentübergabe nach Position und Namen.
So wird ein Argument nach Namen übergeben
Untersuchen Sie den Quellcode der Prozedurdeklaration, um die genaue Schreibweise der Parameternamen zu ermitteln.
Formulieren Sie den Prozeduraufruf im Aufrufcode auf die übliche Weise, indem Sie nach dem Prozedurnamen die Argumentliste in runden Klammern angeben.
Geben Sie für jedes Argument, das Sie nach Namen übergeben möchten, den deklarierten Parameternamen an, danach einen Doppelpunkt und ein Gleichheitszeichen (:=) und anschließend den Wert, der für das Argument übergeben werden soll.
Benannte Argumente können in beliebiger Reihenfolge angegeben werden. Sie müssen jedoch alle positionellen Argumente angeben, bevor Sie ein benanntes Argument angeben können.
Beispiel
Im folgenden Beispiel wird eine Sub-Prozedur mit drei Parametern sowie eine Call-Anweisung (Visual Basic) gezeigt, in der Argumente nach Namen an diese Parameter übergeben werden.
Sub studentInfo(ByVal name As String, _
Optional ByVal age As Short = 0, _
Optional ByVal birth As Date = #1/1/2000#)
Debug.WriteLine("Name = " & name & _
"; age = " & CStr(age) & _
"; birth date = " & CStr(birth))
End Sub
Call studentInfo(age:=19, birth:=#9/21/1981#, name:="Mary")
Argumente, die nach Namen übergeben werden, müssen nicht in der gleichen Reihenfolge angegeben werden, in der sie in der Prozedur deklariert sind.
Kompilieren des Codes
Stellen Sie sicher, dass der Parametername in der Argumentliste genau mit dem in der Prozedur deklarierten Namen übereinstimmt.
Siehe auch
Aufgaben
Gewusst wie: Übergeben von Argumenten an eine Prozedur
Konzepte
Parameter und Argumente von Prozeduren
Übergeben von Argumenten als Wert und als Verweis
Argumentübergabe nach Position und Namen