AddressOf Operator |
AddressOf procedurename
The name of a procedure that is referenced by the procedure delegate
The AddressOf operator returns a procedure delegate instance that references a specific procedure.
The AddressOf operator is used in the following situations:
If a parameter to a procedure (a VB procedure or a Win32 API function) requires a function pointer (the address of a function), then we can pass the expression:
AddressOf functionname
where functionname is the name of the function. This function is called a callback function .
AddressOf is also used to create delegate objects, as in:
delg = New ADelegate(AddressOf obj.AMethod)
AddressOf is used to bind event handlers to events through the AddHandler statement:
AddHandler Form1.Click, AddressOf Me.Form1Click
Examples of all three applications of AddressOf can be found in Section 7.1 in Chapter 7.
In VB 6, the AddressOf operator can only be used in a call to a Windows API function. Moreover, the argument passed to AddressOf must be the name of a procedure in a standard code module. However, in VB.NET these restrictions no longer apply.