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


Függvények eljárásai (Visual Basic)

Az Function eljárás a Vizualizációs alapszintű utasítások sorozata, amelyeket az és Function az utasítások csatolnakEnd Function. Az Function eljárás végrehajt egy feladatot, majd visszaadja a vezérlést a hívó kódnak. Amikor visszaadja a vezérlést, egy értéket is visszaad a hívó kódnak.

Minden alkalommal, amikor az eljárást meghívják, az utasítások futnak, kezdve az utasítás utáni Function első végrehajtható utasítással, és az első End Function, Exit Functionvagy Return utasítással végződik.

Egy eljárást egy modulban, osztályban vagy struktúrában határozhat meg Function . Public Ez alapértelmezés szerint azt jelenti, hogy az alkalmazás bármely pontjáról meghívhatja, amely hozzáfér ahhoz a modulhoz, osztályhoz vagy struktúrához, amelyben definiálta.

Az Function eljárás argumentumokat, például állandókat, változókat vagy kifejezéseket vehet fel, amelyeket a hívó kód továbbít neki.

Deklaráció szintaxisa

Az eljárás deklarálásának Function szintaxisa a következő:

[Modifiers] Function FunctionName [(ParameterList)] As ReturnType
    [Statements]
End Function

A módosítók megadhatják a hozzáférési szintet és a túlterheléssel, felülbírálással, megosztással és árnyékolással kapcsolatos információkat. További információ: Függvényutasítás.

Minden paramétert ugyanúgy deklarál, mint az aleljárások esetében.

Adattípus

Minden Function eljárás adattípussal rendelkezik, ugyanúgy, mint minden változó. Ezt az adattípust az As utasítás záradéka Function határozza meg, és meghatározza annak az értéknek az adattípusát, amelyet a függvény a hívó kódnak ad vissza. Ezt az alábbi mintadeklarációk szemléltetik.

Function Yesterday() As Date
End Function

Function FindSqrt(radicand As Single) As Single
End Function

További információ: "Alkatrészek" a Függvényutasításban.

Értékek visszaadása

Az eljárás által Function a hívó kódnak küldött érték a visszatérési értéke. Az eljárás ezt az értéket kétféleképpen adja vissza:

  • Az utasítással Return adja meg a visszatérési értéket, és azonnal visszaadja a vezérlőt a hívó programnak. Az alábbi példa ezt szemlélteti.

    Function FunctionName [(ParameterList)] As ReturnType
        ' The following statement immediately transfers control back
        ' to the calling code and returns the value of Expression.
        Return Expression
    End Function
    
  • Egy értéket rendel a saját függvény nevéhez az eljárás egy vagy több utasításában. A vezérlő nem tér vissza a hívó programhoz, amíg egy vagy Exit Function több End Function utasítás nem lesz végrehajtva. Az alábbi példa ezt szemlélteti.

    Function FunctionName [(ParameterList)] As ReturnType
        ' The following statement does not transfer control back to the calling code.
        FunctionName = Expression
        ' When control returns to the calling code, Expression is the return value.
    End Function
    

A visszatérési érték függvénynévhez való hozzárendelésének előnye, hogy a vezérlőelem csak akkor tér vissza az eljárásból, ha egy utasítással vagy Exit Function utasítással End Function találkozik. Ez lehetővé teszi, hogy előzetes értéket rendeljen hozzá, és szükség esetén később módosítsa.

Az értékek visszaadásáról további információt a Függvényutasítás című témakörben talál. A tömbök visszaadásáról további információt a Tömbök című témakörben talál.

Hívás szintaxisa

Egy eljárást úgy Function hívhat meg, hogy a nevét és argumentumait a hozzárendelési utasítás jobb oldalán vagy egy kifejezésben is feltünteti. Meg kell adnia minden olyan argumentum értékét, amely nem kötelező, és zárójelben kell csatolnia az argumentumlistát. Ha nincs megadva argumentum, kihagyhatja a zárójeleket.

Az eljáráshívás Function szintaxisa a következő.

lvalue=függvénynév[(argumentumlistája)]

If (( függvénynév[(argumentumlista)] / 3) <=kifejezés) Then

Amikor meghív egy Function eljárást, nem kell annak visszatérési értékét használnia. Ha nem, a függvény összes művelete végrehajtva lesz, de a visszatérési érték figyelmen kívül lesz hagyva. MsgBox gyakran így hívják.

Deklaráció és hívás illusztrációja

Az alábbi Function eljárás kiszámítja a jobb oldali háromszög leghosszabb oldalát vagy hipotenuzát a másik két oldal értékeinek figyelembevételével.

Function Hypotenuse(side1 As Double, side2 As Double) As Double
    Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function

Az alábbi példában egy tipikus hívás látható.hypotenuse

Dim testLength, testHypotenuse As Double
testHypotenuse = Hypotenuse(testLength, 10.7)

Lásd még