Call Statement (Visual Basic)


Updated: July 20, 2015

For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

Transfers control to a Function, Sub, or dynamic-link library (DLL) procedure.

[ Call ] procedureName [ (argumentList) ]  

Required. Name of the procedure to call.

Optional. List of variables or expressions representing arguments that are passed to the procedure when it is called. Multiple arguments are separated by commas. If you include argumentList, you must enclose it in parentheses.

You can use the Call keyword when you call a procedure. For most procedure calls, you aren’t required to use this keyword.

You typically use the Call keyword when the called expression doesn’t start with an identifier. Use of the Call keyword for other uses isn’t recommended.

If the procedure returns a value, the Call statement discards it.

The following code shows two examples where the Call keyword is necessary to call a procedure. In both examples, the called expression doesn't start with an identifier.

    Sub TestCall()
        Call (Sub() Console.Write("Hello"))()

        Call New TheClass().ShowText()
    End Sub

    Class TheClass
        Public Sub ShowText()
            Console.Write(" World")
        End Sub
    End Class

Function Statement
Sub Statement
Declare Statement
Lambda Expressions