Parameterliste (Visual Basic)

Gibt die Parameter an, die eine Prozedur erwartet, wenn sie aufgerufen wird. Mehrere Parameter werden durch Kommas getrennt. Es folgt die Syntax für einen Parameter.

Syntax

[ <attributelist> ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ]
parametername[( )] [ As parametertype ] [ = defaultvalue ]

Bestandteile

attributelist
Optional. Liste der Attribute, die für diesen Parameter gelten. Sie müssen die Attributliste in spitze Klammern („<“ und „>“) einschließen.

Optional
Optional. Gibt an, dass dieser Parameter nicht erforderlich ist, wenn die Prozedur aufgerufen wird.

ByVal
Optional. Gibt an, dass die Prozedur das Variablenelement, das dem entsprechenden Argument im aufrufenden Code zugrunde liegt, nicht ersetzen oder neu zuweisen kann.

ByRef
Optional. Gibt an, dass die Prozedur das zugrunde liegende Variablenelement im aufrufenden Code auf die gleiche Weise ändern kann, wie der aufrufende Code selbst.

ParamArray
Optional. Gibt an, dass der letzte Parameter in der Parameterliste ein optionales Array von Elementen des angegebenen Datentyps ist. Dadurch kann der aufrufende Code eine beliebige Anzahl von Argumenten an die Prozedur übergeben.

parametername
Erforderlich. Name der lokalen Variablen, die den Parameter darstellt.

parametertype
Erforderlich, wenn Option StrictOn ist. Datentyp der lokalen Variablen, die den Parameter darstellt.

defaultvalue
Erforderlich für Optional-Parameter. Eine Konstante oder ein konstanter Ausdruck, der als Datentyp des Parameters ausgewertet wird. Wenn der Typ oder eine Klasse, Schnittstelle, Array oder Struktur Object ist, kann der Standardwert nur Nothing sein.

Bemerkungen

Parameter werden durch Klammern umgeben und durch Kommas getrennt. Ein Parameter kann mit einem beliebigen Datentyp deklariert werden. Wenn Sie parametertypenicht angeben, wird standardmäßig Object verwendet.

Wenn der aufrufende Code die Prozedur aufruft, übergibt er ein Argument an jeden erforderlichen Parameter. Weitere Informationen finden Sie unter Unterschiede zwischen Parametern und Argumenten.

Das Argument, das der aufrufende Code an jeden Parameter übergibt, ist ein Zeiger auf ein zugrunde liegendes Element im aufrufenden Code. Wenn dieses Element nicht veränderlich ist (eine Konstante, ein Literal, eine Enumeration oder ein Ausdruck), kann es von keinem Code geändert werden. Wenn es sich um ein Variablenelement handelt (eine deklarierte Variable, ein Feld, eine Eigenschaft, ein Arrayelement oder ein Strukturelement), kann es durch den aufrufenden Code geändert werden. Weitere Informationen finden Sie unter Unterschiede zwischen änderbaren und nicht änderbaren Argumenten.

Wenn ein Variablenelement ByRef übergeben wird, kann es auch von der Prozedur geändert werden. Weitere Informationen finden Sie unter Unterschiede zwischen dem Übergeben von Argumenten als Wert und als Verweis.

Regeln

  • Klammern. Wenn Sie eine Parameterliste angeben, müssen Sie sie in Klammern einschließen. Wenn keine Parameter vorhanden sind, können Sie weiterhin Klammern verwenden, die eine leere Liste einschließen. Dadurch wird die Lesbarkeit des Codes verbessert, indem klargestellt wird, dass es sich bei dem Element um eine Prozedur handelt.

  • Optionale Parameter. Wenn Sie den Optional-Modifizierer für einen Parameter verwenden, müssen auch alle nachfolgenden Parameter in der Liste optional sein und mit dem Optional-Modifizierer deklariert werden.

    Jede optionale Parameterdeklaration muss die defaultvalue-Klausel bereitstellen.

    Weitere Informationen finden Sie unter Optionale Parameter.

  • Parameterarrays. Sie müssen ByVal für einen ParamArray-Parameter angeben.

    Sie können nicht sowohl Optional als auch ParamArray in derselben Parameterliste verwenden.

    Weitere Informationen finden Sie unter Parameterarrays.

  • Übergeben des Mechanismus. Der Standardmechanismus für jedes Argument ist ByVal, was bedeutet, dass die Prozedur das zugrunde liegende Variablenelement nicht ändern kann. Wenn das Element jedoch ein Verweistyp ist, kann die Prozedur den Inhalt oder die Member des zugrunde liegenden Objekts ändern, obwohl sie das Objekt selbst nicht ersetzen oder neu zuweisen kann.

  • Parameternamen. Wenn der Datentyp des Parameters ein Array ist, folgen Sie parametername sofort durch Klammern. Weitere Informationen zu Parameternamen finden Sie unter Deklarierte Elementnamen.

Beispiel

Das folgende Beispiel zeigt eine Function-Prozedur, die zwei Parameter definiert.

Public Function HowMany(ByVal ch As Char, ByVal st As String) As Integer
End Function
Dim howManyA As Integer = HowMany("a"c, "How many a's in this string?")

Siehe auch