Megosztás a következőn keresztül:


Paraméterlista (Visual Basic)

Megadja azokat a paramétereket, amelyeket az eljárás elvár az eljárás meghívásakor. Több paramétert vessző választ el egymástól. Az alábbiakban egy paraméter szintaxisa szerepel.

Syntax

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

Részek

attributelist
Opcionális. A paraméterre vonatkozó attribútumok listája. Az attribútumlistát szögletes zárójelek ("<" és ">") közé kell foglalnia.

Optional
Opcionális. Megadja, hogy ez a paraméter nem szükséges az eljárás meghívásakor.

ByVal
Opcionális. Megadja, hogy az eljárás nem tudja lecserélni vagy újra hozzárendelni a hívókódban a megfelelő argumentum alapjául szolgáló változóelemet.

ByRef
Opcionális. Megadja, hogy az eljárás ugyanúgy módosíthatja a hívó kód mögöttes változóelemét, mint maga a hívó kód.

ParamArray
Opcionális. Azt adja meg, hogy a paraméterlistában az utolsó paraméter a megadott adattípus elemeinek nem kötelező tömbje. Ez lehetővé teszi, hogy a hívó kód tetszőleges számú argumentumot adjon át az eljárásnak.

parametername
Szükséges. A paramétert képviselő helyi változó neve.

parametertype
Ha igen, akkor Option Strict kötelező Onmegadni. A paramétert képviselő helyi változó adattípusa.

defaultvalue
Paraméterekhez Optional szükséges. Bármely állandó vagy állandó kifejezés, amely a paraméter adattípusának kiértékelése. Ha a típus Objectvagy osztály, interfész, tömb vagy struktúra, az alapértelmezett érték csak az lehet Nothing.

Megjegyzések

A paramétereket zárójelek veszik körül, és vesszők választják el egymástól. Egy paraméter bármilyen adattípussal deklarálható. Ha nem adja meg a beállítást parametertype, az alapértelmezés szerint az lesz Object.

Amikor a hívó kód meghívja az eljárást, egy argumentumot ad át minden szükséges paraméternek. További információ: Paraméterek és argumentumok közötti különbségek.

Az az argumentum, amelyet a hívó kód átad az egyes paramétereknek, a hívó kód egyik mögöttes elemére mutató mutató. Ha ez az elem nem módosítható (állandó, konstans, számbavétel vagy kifejezés), a kód nem módosíthatja azt. Ha változó elem (deklarált változó, mező, tulajdonság, tömbelem vagy struktúraelem), a hívó kód módosíthatja azt. További információ: A módosítható és a nem módosítható argumentumok közötti különbségek.

Ha egy változó elemet ad át ByRef, az eljárás azt is módosíthatja. További információ: Az argumentumok átadása érték és hivatkozás szerint közötti különbségek.

Szabályok

  • Zárójel. Ha paraméterlistát ad meg, zárójelbe kell tennie. Ha nincsenek paraméterek, akkor is használhat üres listát tartalmazó zárójeleket. Ez javítja a kód olvashatóságát azáltal, hogy tisztázza, hogy az elem egy eljárás.

  • Nem kötelező paraméterek. Ha a Optional módosító paramétert használja, a listában szereplő összes további paraméternek opcionálisnak kell lennie, és a Optional módosító használatával deklarálni kell.

    Minden választható paraméterdeklarációnak tartalmaznia kell a záradékot defaultvalue .

    További információ: Választható paraméterek.

  • Paramétertömbök. Meg kell adnia ByVal egy paramétert ParamArray .

    Nem használhatja mindkettőt Optional és ParamArray ugyanabban a paraméterlistában.

    További információ: Paramétertömbök.

  • Átengedő mechanizmus. Minden argumentum alapértelmezett mechanizmusa, ByValami azt jelenti, hogy az eljárás nem módosíthatja az alapul szolgáló változóelemet. Ha azonban az elem hivatkozási típus, az eljárás módosíthatja az alapul szolgáló objektum tartalmát vagy tagjait, annak ellenére, hogy nem tudja lecserélni vagy újra hozzárendelni magát az objektumot.

  • Paraméternevek. Ha a paraméter adattípusa tömb, kövesse parametername az alábbi zárójeleket. További információ a paraméternevekről: Deklarált elemnevek.

Példa

Az alábbi példa egy Function olyan eljárást mutat be, amely két paramétert határoz meg.

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?")

Lásd még