Sub Statement
Makes a private procedure or event handler.
Syntax
Usual construct
[ modifiers ] _
Sub procedure_name [ type_list ] [ parameter_list ] [ return_type ]
[ Where generic_constraints ]
[ statements ]
End [ Sub ]
Event-handler construct
[ modifiers ] _
Sub procedure_name [ type_list ] [ parameter_list ] Handles event_name
[ Where generic_constraints ]
[ statements ]
End [ Sub ]
Parts
modifiers- Optional
@Const– The procedure can run at compile-time. This puts many limits on the procedure. See@Const.@Iterator– The procedure implements the iterator pattern. The procedure must have a return type. See@Iterator.@MustUse– Code that calls the procedure must use the return value. See@MustUse.@Shared– The procedure is a member of its container, and not an instance of that container. See@Shared.@Test– The procedure is a unit test. See@Test.
procedure_name- Mandatory name for the procedure.
type_list- Optional one or more names with a comma between each, all between brackets (
[ ]). See Type List for more information. parameter_list- Optional one or more declarators with a comma between each, optionally between parentheses.
But if you supply
return_type, the parentheses are mandatory. See Parameter List for more information. return_type- Optional in the usual construct.
- Not permitted in the event-handler construct.
-
Return type
As typeorIn unittype- A data type
unit- A unit of measure
Handles- Mandatory keyword used with the event-handler construct. See the Handles keyword section for more information.
generic_constraints- Optional. See Where Clause (Generics) for more information.
statements- Optional one or more statements to declare variables and/or run some code.
End- Completes the statement.
You can also use
End Sub. - You can make one of these mandatory with the directive
@Option End. See @Option Directive for more information.
Instructions
End Sub is not the same as Exit Sub.
Sub is short for “subroutine”.
Handles keyword
The keyword Handles does two things for the construct Sub.
- It changes the procedure to become an event handler.
- It puts the parameters supplied by a declaration of
Eventinto the procedure where they become available.
Examples
TODO