Function-Prozeduren (Visual Basic)
Eine Function-Prozedur ist eine Reihe von Visual Basic-Anweisungen, die von den Anweisungen Function und End Function eingeschlossen sind.Die Function-Prozedur führt eine Aufgabe aus und gibt die Steuerung dann an den Aufrufcode zurück.Wenn sie die Steuerung zurückgibt, gibt sie auch einen Wert an den Aufrufcode zurück.
Bei jedem Aufruf der Prozedur werden ihre Anweisungen ausgeführt. Die Ausführung wird mit der ersten ausführbaren Anweisung nach der Function-Anweisung begonnen und mit der ersten auftretenden End Function-, Exit Function- oder Return-Anweisung beendet.
Sie können eine Function-Prozedur in einem Modul, einer Klasse oder Struktur definieren.Standardmäßig sind Function-Prozeduren Public, d. h. sie können überall in der Anwendung aufgerufen werden, die Zugriff auf das Modul, die Klasse oder Struktur hat, in dem bzw. der die Prozedur definiert ist.
Function-Prozeduren können Argumente (z. B. Konstanten, Variablen oder Ausdrücke) verarbeiten, die durch den Aufrufcode an sie übergeben werden.
Deklarationssyntax
Die Syntax zur Deklaration einer Function-Prozedur lautet wie folgt:
[Modifiers] Function FunctionName [(ParameterList)] As ReturnType
[Statements]
End Function
Mithilfe von Modifizierern werden die Zugriffsebene und Informationen zum Überladen, Überschreiben, Freigeben und Shadowing angegeben.Weitere Informationen hierzu finden Sie unter Function-Anweisung (Visual Basic).
Sie deklarieren alle Parameter auf die gleiche Weise wie Sub-Prozeduren (Visual Basic).
Datentyp
Ebenso wie Variablen weisen auch Function-Prozeduren einen Datentyp auf.Der Datentyp wird durch die As-Klausel in der Function-Anweisung festgelegt. Er bestimmt den Datentyp des Werts, den die Funktion an den Aufrufcode zurückgibt.Die folgenden Beispieldeklarationen verdeutlichen dies.
Function yesterday() As Date
End Function
Function findSqrt(ByVal radicand As Single) As Single
End Function
Weitere Informationen finden Sie im Abschnitt "Bestandteile" unter Function-Anweisung (Visual Basic).
Rückgabewerte
Der Wert, den eine Function Prozedur zurück an den aufrufenden Code sendet, wird als Rückgabewert aufgerufen.Die Prozedur gibt den Wert auf zwei Arten zurück:
Hier wird mit der Return-Anweisung der Rückgabewert angegeben, und die Steuerung wird sofort an das aufrufende Programm zurückgegeben.Dies wird anhand des folgenden Beispiels veranschaulicht:
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
Sie weist ihrem eigenen Funktionsnamen in mindestens einer Anweisung der Prozedur einen Wert zu.Die Steuerung wird solange nicht an das aufrufende Programm zurückgegeben, bis eine Exit Function oder End Function ausgeführt wird.Dies wird anhand des folgenden Beispiels veranschaulicht:
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
Der Vorteil beim Zuweisen des Rückgabewerts an den Funktionsnamen liegt darin, dass die Prozedur die Steuerung erst zurückgibt, wenn das Programm die Anweisung Exit Function oder End Function erreicht.Dadurch können Sie einen vorläufigen Wert zuweisen und diesen gegebenenfalls später korrigieren.
Weitere Informationen zum Zurückgeben von Werten, finden Sie unter Function-Anweisung (Visual Basic).Informationen zum Zurückgeben von Arrays, finden Sie unter Arrays in Visual Basic.
Aufrufsyntax
Zum Aufrufen einer Function-Prozedur geben Sie deren Namen und die Argumente entweder auf der rechten Seite einer Zuweisungsanweisung oder in einem Ausdruck an.Sie müssen Werte für alle nicht optionalen Argumente angeben und die Argumentliste in Klammern setzen.Wenn keine Argumente angegeben werden, können Sie die Klammern auch weglassen.
Die Syntax für den Aufruf einer Function-Prozedur lautet wie folgt:
l-Wert=functionname[(argumentlist)]
If ((functionname[(argumentlist)] / 3) <=Ausdruck) Then
Wenn Sie eine Function-Prozedur aufrufen, müssen Sie deren Rückgabewert nicht verwenden.In diesem Fall werden sämtliche Aktionen der Funktion durchgeführt, der Rückgabewert wird jedoch ignoriert.MsgBox wird oft auf diese Weise aufgerufen.
Darstellung von Deklaration und Aufruf
Mit der folgenden Function-Prozedur wird die längste Seite (die Hypotenuse) eines rechtwinkligen Dreiecks anhand der Werte der beiden anderen Seiten berechnet.
Function hypotenuse(ByVal side1 As Single, ByVal side2 As Single) As Single
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function
Im folgenden Beispiel wird ein typischer Aufruf von hypotenuse gezeigt.
Dim testLength, testHypotenuse As Single
testHypotenuse = hypotenuse(testLength, 10.7)
Siehe auch
Aufgaben
Gewusst wie: Erstellen einer Prozedur, die einen Wert zurückgibt (Visual Basic)
Gewusst wie: Zurückgeben eines Werts aus einer Prozedur (Visual Basic)
Gewusst wie: Aufrufen einer Prozedur, die einen Wert zurückgibt (Visual Basic)
Referenz
Function-Anweisung (Visual Basic)
Konzepte
Eigenschaftenprozeduren (Visual Basic)