Freigeben über


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
Wahlfrei. Liste der Attribute, die für diesen Parameter gelten. Sie müssen die Attributliste in winkelige Klammern ("<" und ">") einschließen.

Optional
Wahlfrei. Gibt an, dass dieser Parameter beim Aufrufen der Prozedur nicht erforderlich ist.

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

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

ParamArray
Wahlfrei. Gibt an, dass der letzte Parameter in der Parameterliste ein optionales Array von Elementen des angegebenen Datentyps ist. Auf diese Weise 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 Strict für On festgelegt ist. Datentyp der lokalen Variable, die den Parameter darstellt.

defaultvalue
Erforderlich für Optional Parameter. Ein beliebiger Konstanten- oder Konstantenausdruck, der den Datentyp des Parameters auswertet. Wenn der Typ oder eine Klasse, Schnittstelle, Matrix oder Struktur ist Object, kann der Standardwert nur sein Nothing.

Bemerkungen

Parameter werden von Klammern umgeben und durch Kommas getrennt. Ein Parameter kann mit einem beliebigen Datentyp deklariert werden. Wenn Sie nicht angeben parametertype, wird sie standardmäßig auf Object.

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 nichtvariabel ist (eine Konstante, ein Literal, eine Enumeration oder ein Ausdruck), ist es für keinen Code möglich, es zu ändern. Wenn es sich um ein Variable-Element (eine deklarierte Variable, ein Feld, eine Eigenschaft, ein Arrayelement oder ein Strukturelement handelt), kann der aufrufende Code es ändern. Weitere Informationen finden Sie unter Unterschiede zwischen modifizierbaren und nicht modifizierbaren Argumenten.

Wenn ein variables Element übergeben ByRefwird, kann die Prozedur es ebenfalls ändern. Weitere Informationen finden Sie unter Unterschiede zwischen dem Übergeben eines Arguments durch Wert und durch Referenz.

Regeln

  • Runde 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 alle nachfolgenden Parameter in der Liste ebenfalls optional sein und mithilfe des Optional Modifizierers deklariert werden.

    Jede optionale Parameterdeklaration muss die defaultvalue Klausel angeben.

    Weitere Informationen finden Sie unter "Optionale Parameter".

  • Parameterarrays. Sie müssen für einen ParamArray Parameter angebenByVal.

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

    Weitere Informationen finden Sie unter Parameterarrays.

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

  • Parameternamen. Wenn der Datentyp des Parameters ein Array ist, folgen Sie parametername sofort den 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