How to: Define Multiple Versions of a Procedure (Visual Basic)
You can define a procedure in multiple versions by overloading it, using the same name but a different parameter list for each version. The purpose of overloading is to define several closely related versions of a procedure without having to differentiate them by name.
For more information, see Procedure Overloading.
To define multiple versions of a procedure
Write a
Sub
orFunction
declaration statement for each version of the procedure you want to define. Use the same procedure name in every declaration.Precede the
Sub
orFunction
keyword in each declaration with the Overloads keyword. You can optionally omitOverloads
in the declarations, but if you include it in any of the declarations, you must include it in every declaration.Following each declaration statement, write procedure code to handle the specific case where the calling code supplies arguments matching that version's parameter list. You do not have to test for which parameters the calling code has supplied. Visual Basic passes control to the matching version of your procedure.
Terminate each version of the procedure with the
End Sub
orEnd Function
statement as appropriate.
Example
The following example defines a Sub
procedure to post a transaction against a customer's balance. It uses the Overloads
keyword to define two versions of the procedure, one that accepts the customer by name and the other by account number.
Overloads Sub post(ByVal custName As String, ByVal amount As Single)
' Insert code to access customer record by customer name.
End Sub
Overloads Sub post(ByVal custAcct As Integer, ByVal amount As Single)
' Insert code to access customer record by account number.
End Sub
The calling code can obtain the customer identification as either a String
or an Integer
, and then use the same calling statement in either case.
For information on how to call these versions of the post
procedure, see How to: Call an Overloaded Procedure.
Compile the code
Make sure each of your overloaded versions has the same procedure name but a different parameter list.