Call Statement (Visual Basic)

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

[ Call ] procedureName [ (argumentList) ]

Parts

  • procedureName
    Required. Name of the procedure to call.

  • argumentList
    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.

Remarks

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.

Example

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

See Also

Reference

Function Statement (Visual Basic)

Sub Statement (Visual Basic)

Declare Statement

Concepts

Lambda Expressions (Visual Basic)

Change History

Date

History

Reason

January 2012

Added a recommendation of when to use the Call keyword, and revised the examples.

Information enhancement.