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 Objecttyp , nebo třída, rozhraní, matice nebo struktura, výchozí hodnota může být Nothingpouze .

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 ByRefprvek 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átoru Optional .

    Každá volitelná deklarace parametru musí dodat klauzuli defaultvalue .

    Další informace naleznete v tématu Volitelné parametry.

  • Pole parametrů Je nutné zadat ByVal parametr ParamArray .

    Ve stejném seznamu parametrů nemůžete použít obojí Optional i ParamArray 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?")

Viz také