Function-Prozeduren (Visual Basic)Function Procedures (Visual Basic)

Ein Function Verfahren besteht aus einer Reihe von Visual BasicVisual Basic Anweisungen, die durch die Function und End Function Anweisungen.A Function procedure is a series of Visual BasicVisual Basic statements enclosed by the Function and End Function statements. Die Function Prozedur, eine Aufgabe ausführt, und klicken Sie dann die Steuerung an den aufrufenden Code zurückgegeben.The Function procedure performs a task and then returns control to the calling code. Wenn er die Steuerung zurückgibt, gibt es auch einen Wert an den aufrufenden Code zurück.When it returns control, it also returns a value to the calling code.

Jedes Mal, die die Prozedur aufgerufen wird, werden die Anweisungen ausgeführt werden, beginnend mit der ersten ausführbaren Anweisung nach der Function -Anweisung und endet mit dem ersten End Function, Exit Function, oder Return Anweisung wurde gefunden.Each time the procedure is called, its statements run, starting with the first executable statement after the Function statement and ending with the first End Function, Exit Function, or Return statement encountered.

Sie können definieren, eine Function Prozedur in einem Modul, Klasse oder Struktur.You can define a Function procedure in a module, class, or structure. Es ist Public standardmäßig, d. h. Sie können von überall aus aufrufen in der Anwendung, die Zugriff auf das Modul, Klasse oder Struktur an, in dem Sie definiert, wurde.It is Public by default, which means you can call it from anywhere in your application that has access to the module, class, or structure in which you defined it.

Ein Function Argumenten, z. B. Konstanten, Variablen oder Ausdrücke, die an ihn, der aufrufende Code übergeben werden kann in Anspruch nehmen.A Function procedure can take arguments, such as constants, variables, or expressions, which are passed to it by the calling code.

DeklarationssyntaxDeclaration Syntax

Die Syntax zum Deklarieren einer Function Prozedur lautet wie folgt:The syntax for declaring a Function procedure is as follows:

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

Die Modifizierer Zugriffsebene und Informationen zum Überladen, überschreiben, freigeben und shadowing angeben können.The modifiers can specify access level and information regarding overloading, overriding, sharing, and shadowing. Weitere Informationen finden Sie unter Function-Anweisung.For more information, see Function Statement.

Deklarieren Sie jeden Parameter genauso wie Sie für Sub-Prozeduren.You declare each parameter the same way you do for Sub Procedures.

DatentypData Type

Jede Function Prozedur verfügt über einen Datentyp, ebenso wie Variablen enthält.Every Function procedure has a data type, just as every variable does. Dieser Datentyp wird angegeben, indem die As -Klausel in der Function -Anweisung, und er ermittelt den Datentyp des Werts, der die Funktion an den aufrufenden Code zurückgibt.This data type is specified by the As clause in the Function statement, and it determines the data type of the value the function returns to the calling code. Die folgenden Beispieldeklarationen veranschaulicht.The following sample declarations illustrate this.

Function yesterday() As Date  
End Function  

Function findSqrt(ByVal radicand As Single) As Single  
End Function  

Weitere Informationen finden Sie unter "Teilen" in Function-Anweisung.For more information, see "Parts" in Function Statement.

Zurückgeben von WertenReturning Values

Der Wert einer Function Prozedur sendet zurück an den aufrufenden Code den Rückgabewert aufgerufen wird.The value a Function procedure sends back to the calling code is called its return value. Die Prozedur gibt diesen Wert zurück, auf zwei Arten:The procedure returns this value in one of two ways:

  • Er verwendet die Return Anweisung an den Rückgabewert, und gibt die Steuerung wird sofort an das aufrufende Programm.It uses the Return statement to specify the return value, and returns control immediately to the calling program. Dies wird anhand des folgenden Beispiels veranschaulicht.The following example illustrates this.
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  
  • Eigene Funktionsnamen in eine oder mehrere Anweisungen der Prozedur wird ein Wert zugewiesen.It assigns a value to its own function name in one or more statements of the procedure. Steuerung ist nicht an das aufrufende Programm, bis ein Exit Function oder End Function -Anweisung ausgeführt wird.Control does not return to the calling program until an Exit Function or End Function statement is executed. Dies wird anhand des folgenden Beispiels veranschaulicht.The following example illustrates this.
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 den Rückgabewert für den Namen der Funktion zuzuweisen ist die Steuerung erst gefundenen nicht aus der Prozedur zurückgegeben wird ein Exit Function oder End Function Anweisung.The advantage of assigning the return value to the function name is that control does not return from the procedure until it encounters an Exit Function or End Function statement. Dadurch können Sie einen vorläufigen Wert zuweisen und sie später bei Bedarf anpassen.This allows you to assign a preliminary value and adjust it later if necessary.

Weitere Informationen zum Zurückgeben von Werten finden Sie unter Function-Anweisung.For more information about returning values, see Function Statement. Weitere Informationen zu Arrays zurückgeben, finden Sie unter Arrays.For information about returning arrays, see Arrays.

Aufrufen der SyntaxCalling Syntax

Rufen Sie eine Function Prozedur durch den Namen und die Argumente, die entweder auf der rechten Seite einer zuweisungsanweisung oder in einem Ausdruck einschließen.You invoke a Function procedure by including its name and arguments either on the right side of an assignment statement or in an expression. Geben Sie Werte für alle Argumente, die nicht optional sind, und müssen Sie die Argumentliste in Klammern einschließen.You must provide values for all arguments that are not optional, and you must enclose the argument list in parentheses. Wenn keine Argumente übergeben werden, können Sie die Klammern optional weglassen.If no arguments are supplied, you can optionally omit the parentheses.

Die Syntax für einen Aufruf einer Function Prozedur lautet wie folgt:The syntax for a call to a Function procedure is as follows:

Lvalue=Funktionsname [( Argumentlist )]lvalue = functionname [( argumentlist )]

If ((Funktionsname [( Argumentlist )] / 3) <= Ausdruck ) ThenIf (( functionname [( argumentlist )] / 3) <= expression ) Then

Beim Aufruf einer Function Prozedur, Sie müssen nicht den Rückgabewert verwenden.When you call a Function procedure, you do not have to use its return value. Wenn Sie nicht alle Aktionen, die sich von der Funktion ausgeführt werden, aber der Rückgabewert wird ignoriert.If you do not, all the actions of the function are performed, but the return value is ignored. MsgBoxauf diese Weise wird häufig aufgerufen werden.MsgBox is often called in this manner.

Abbildung der Deklaration und AufrufIllustration of Declaration and Call

Die folgenden Function Prozedur berechnet die längste Seite, die Hypotenuse eines rechtwinkligen Dreiecks, anhand der Werte der beiden anderen Seiten.The following Function procedure calculates the longest side, or hypotenuse, of a right triangle, given the values for the other two sides.

Function hypotenuse(ByVal side1 As Single, ByVal side2 As Single) As Single
    Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function

Das folgende Beispiel zeigt einen typischen Aufruf hypotenuse.The following example shows a typical call to hypotenuse.

Dim testLength, testHypotenuse As Single
testHypotenuse = hypotenuse(testLength, 10.7)

Siehe auchSee Also

VerfahrenProcedures
Sub-ProzedurenSub Procedures
EigenschaftenprozedurenProperty Procedures
OperatorprozedurenOperator Procedures
Parameter und Argumente von ProzedurenProcedure Parameters and Arguments
Function-AnweisungFunction Statement
Gewusst wie: Erstellen einer Prozedur, die einen Wert zurückgibtHow to: Create a Procedure that Returns a Value
Gewusst wie: Abrufen eines Werts aus einer ProzedurHow to: Return a Value from a Procedure
Gewusst wie: Aufrufen einer Prozedur, die einen Wert zurückgibtHow to: Call a Procedure That Returns a Value