Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
OptionalModifizierer für einen Parameter verwenden, müssen alle nachfolgenden Parameter in der Liste ebenfalls optional sein und mithilfe desOptionalModifizierers deklariert werden.Jede optionale Parameterdeklaration muss die
defaultvalueKlausel angeben.Weitere Informationen finden Sie unter "Optionale Parameter".
Parameterarrays. Sie müssen für einen
ParamArrayParameter angebenByVal.Sie können nicht sowohl als auch
OptionalParamArrayin 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
parameternamesofort 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?")