Call Statement (Visual Basic)

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


[ Call ] procedureName [ (argumentList) ]  


Part Description
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.


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

See also