Gewusst wie: Definieren optionaler Parameter für eine Prozedur

Aktualisiert: November 2007

Sie können einen Prozedurparameter als optional festlegen, sodass beim Aufruf der Prozedur im Aufrufcode kein Argument dafür angegeben werden muss. Sie definieren in diesem Fall einen Standardwert, den die Prozedur verwendet, wenn das Argument nicht angegeben wird.

Sie können mehrere optionale Parameter definieren. Alle optionalen Parameter müssen am Ende der Parameterliste stehen. Sämtliche erforderlichen Parameter müssen vor den optionalen Parametern stehen.

So definieren Sie einen optionalen Parameter

  1. Stellen Sie in der Prozedurdeklaration dem Parameternamen in der Parameterliste das Schlüsselwort Optional voran.

  2. Geben Sie nach dem Parameternamen wie üblich eine As-Klausel und nach der As-Klausel ein Gleichheitszeichen (=) an.

  3. Geben Sie unmittelbar nach dem Gleichheitszeichen den Standardwert für den Parameter an. Dies muss ein konstanter Ausdruck sein, damit der Compiler ihn zur Kompilierungszeit vollständig auswerten kann.

  4. Sie müssen jeden nachfolgenden Parameter als Optional deklarieren.

Beispiel

Das folgende Beispiel veranschaulicht eine Prozedurdeklaration mit einem optionalen Parameter.

Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
    If office = "QJZ" Then
        Debug.WriteLine("office not supplied -- using Headquarters")
        office = "Headquarters"
    End If
    ' Insert code to notify headquarters or specified office.
End Sub

Wenn im Aufrufcode in der Argumentliste kein Wert für office angegeben wird, gibt Visual Basic den Standardwert "QJZ" an.

Kompilieren des Codes

Sie müssen in der Prozedurdeklaration für jeden optionalen Parameter einen Standardwert angeben. Stellen Sie sicher, dass jeder Standardwert eine Konstante ist, die der Compiler zur Kompilierungszeit auswerten kann.

Siehe auch

Aufgaben

Gewusst wie: Aufrufen einer Prozedur mit optionalen Parametern

Gewusst wie: Bestimmen, ob ein optionaler Parameter angegeben wurde

Konzepte

Parameter und Argumente von Prozeduren

Übergeben von Argumenten als Wert und als Verweis

Argumentübergabe nach Position und Namen

Optionale Parameter

Parameterarrays

Prozedurüberladung

Referenz

Optional (Visual Basic)

ParamArray