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


Útmutató: Nem kötelező paramétereket használó eljárás túlterhelése (Visual Basic)

Ha egy eljárás egy vagy több választható paraméterrel rendelkezik, nem definiálhat olyan túlterhelt verziót, amely megfelel bármelyik implicit túlterhelésnek. További információért lásd az "Opcionális paraméterek implicit túlterhelései" című részt az eljárások túlterhelési szempontjai között.

Egy választható paraméter

Egy választható paramétert használó eljárás túlterhelése

  1. Írjon egy Sub vagy Function deklarációs utasítást, amely tartalmazza az opcionális paramétert a paraméterlistában. Ebben a túlterhelt verzióban ne használja a Optional kulcsszót.

  2. A Sub kulcsszóval előzze meg a Function vagy kulcsszót.

  3. Írja meg azt az eljáráskódot, amelyet akkor kell végrehajtani, amikor a hívó kód megadja az opcionális argumentumot.

  4. Az eljárást a megfelelő End Sub vagy End Function utasítással fejezze be.

  5. Írjon egy második deklarációs utasítást, amely megegyezik az első deklarációval, azzal a kivételével, hogy nem tartalmazza az opcionális paramétert a paraméterlistában.

  6. Írja meg azt az eljáráskódot, amelyet akkor kell végrehajtani, ha a hívó kód nem adja meg az opcionális argumentumot. Az eljárást a megfelelő End Sub vagy End Function utasítással fejezze be.

    Az alábbi példa egy választható paraméterrel definiált eljárást, két túlterhelt eljárás egyenértékű készletét, végül pedig az érvénytelen és az érvényes túlterhelt verziókat mutatja be.

    Sub q(ByVal b As Byte, Optional ByVal j As Long = 6)
    
    ' The preceding definition is equivalent to the following two overloads.
    ' Overloads Sub q(ByVal b As Byte)
    ' Overloads Sub q(ByVal b As Byte, ByVal j As Long)
    
    ' Therefore, the following overload is not valid because the signature is already in use.
    ' Overloads Sub q(ByVal c As Byte, ByVal k As Long)
    ' The following overload uses a different signature and is valid.
    Overloads Sub q(ByVal b As Byte, ByVal j As Long, ByVal s As Single)
    

Több választható paraméter

Egynél több opcionális paraméterrel rendelkező eljáráshoz általában kétnál több túlterhelt verzióra van szükség. Ha például két választható paraméter létezik, és a hívó kód egymástól függetlenül is képes megadni vagy kihagyni azokat, négy túlterhelt verzióra van szükség, egyet a megadott argumentumok minden lehetséges kombinációjához.

Az opcionális paraméterek számának növekedésével a túlterhelés összetettsége nő. Ha a megadott argumentumok bizonyos kombinációi nem elfogadhatóak, az N választható paraméterek esetében 2 ^ N túlterhelt verzióra van szükség. Az eljárás jellegétől függően előfordulhat, hogy a logika egyértelműsége indokolja az összes túlterhelt verzió meghatározásának további erőfeszítését.

Egynél több opcionális paramétert igénylő eljárás túlterhelése

  1. Határozza meg, hogy a megadott választható argumentumok mely kombinációi elfogadhatók az eljárás logikája számára. Elfogadhatatlan kombináció akkor fordulhat elő, ha az egyik választható paraméter egy másiktól függ. Ha például az egyik paraméter elfogadja egy személy nevét, egy másik pedig elfogadja a személy életkorát, akkor az életkort megadó argumentumok kombinációja, de a név kihagyása elfogadhatatlan.

  2. Az opcionálisan megadott argumentumok minden elfogadható kombinációjához írjon egy Sub vagy Function deklarációs utasítást, amely meghatározza a megfelelő paraméterlistát. Ne használja a kulcsszót Optional .

  3. Minden deklarációban előzze meg a Sub vagy Function kulcsszót a Overloads kulcsszóval.

  4. Az egyes deklarációk után írja meg azt az eljáráskódot, amelyet akkor kell végrehajtani, amikor a hívó kód az adott deklaráció paraméterlistájának megfelelő argumentumlistát ad meg.

  5. Az egyes eljárásokat a End Sub vagy End Function utasítással fejezze be, a helyzetnek megfelelően.

Lásd még