Export (0) Print
Expand All

Call Statement (Visual Basic)

Updated: January 2012

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




January 2012

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

Information enhancement.

Community Additions

© 2014 Microsoft