Seznam parametrů (Visual Basic)
Určuje parametry, které procedura očekává při volání. Více parametrů je odděleno čárkami. Následuje syntaxe jednoho parametru.
Syntaxe
[ <attributelist> ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ]
parametername[( )] [ As parametertype ] [ = defaultvalue ]
Součástky
attributelist
Nepovinné. Seznam atributů, které se vztahují na tento parametr Seznam atributů musíte uzavřít do úhlových závorek ("<
" a ">
").
Optional
Nepovinné. Určuje, že tento parametr není vyžadován při volání procedury.
ByVal
Nepovinné. Určuje, že procedura nemůže nahradit nebo znovu přiřadit prvek proměnné, který je podkladovým prvkem odpovídající argument ve volajícím kódu.
ByRef
Nepovinné. Určuje, že procedura může upravit prvek podkladové proměnné ve volajícím kódu stejným způsobem jako samotný volající kód.
ParamArray
Nepovinné. Určuje, že poslední parametr v seznamu parametrů je volitelná matice prvků zadaného datového typu. Volající kód tak do procedury předá libovolný počet argumentů.
parametername
Povinný: Název místní proměnné představující parametr
parametertype
Vyžaduje se, pokud Option Strict
je On
. Datový typ místní proměnné představující parametr
defaultvalue
Požadováno pro Optional
parametry. Libovolný konstantní nebo konstantní výraz, který se vyhodnotí jako datový typ parametru. Pokud je Object
typ , nebo třída, rozhraní, matice nebo struktura, výchozí hodnota může být Nothing
pouze .
Poznámky
Parametry jsou obklopené závorky a oddělené čárkami. Parametr lze deklarovat s libovolným datovým typem. Pokud nezadáte parametertype
, výchozí hodnota je Object
.
Když volající kód volá proceduru, předá argument každému požadovanému parametru. Další informace naleznete v tématu Rozdíly mezi parametry a argumenty.
Argument, který volající kód předá každému parametru, je ukazatel na základní prvek ve volajícím kódu. Pokud je tento prvek nevariable (konstanta, literál, výčet nebo výraz), není možné ho žádným kódem změnit. Pokud se jedná o prvek proměnné (deklarovanou proměnnou, pole, vlastnost, prvek pole nebo element struktury), volající kód ho může změnit. Další informace najdete v tématu Rozdíly mezi upravitelnými a neupravitelnými argumenty.
Pokud je předán ByRef
prvek proměnné , procedura ji může také změnit. Další informace naleznete v tématu Rozdíly mezi předáním argumentu podle hodnoty a odkazem.
Pravidla
Závorkách. Pokud zadáte seznam parametrů, musíte ho uzavřít do závorek. Pokud neexistují žádné parametry, můžete přesto použít závorky, které ohraničují prázdný seznam. To zlepšuje čitelnost kódu tím, že objasní, že prvek je procedura.
Volitelné parametry. Pokud použijete
Optional
modifikátor parametru, musí být všechny následující parametry v seznamu také volitelné a deklarovány pomocí modifikátoruOptional
.Každá volitelná deklarace parametru musí dodat klauzuli
defaultvalue
.Další informace naleznete v tématu Volitelné parametry.
Pole parametrů Je nutné zadat
ByVal
parametrParamArray
.Ve stejném seznamu parametrů nemůžete použít obojí
Optional
iParamArray
ve stejném seznamu parametrů.Další informace naleznete v tématu Pole parametrů.
Mechanismus předávání. Výchozí mechanismus pro každý argument je
ByVal
, což znamená, že procedura nemůže změnit prvek podkladové proměnné. Pokud je však prvek referenčním typem, může procedura upravit obsah nebo členy základního objektu, i když nemůže nahradit ani změnit přiřazení samotného objektu.Názvy parametrů. Pokud je datovým typem parametru pole, postupujte
parametername
okamžitě podle závorek. Další informace o názvech parametrů naleznete v tématu Deklarované názvy elementů.
Příklad
Následující příklad ukazuje proceduru Function
, která definuje dva parametry.
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?")