AddressOf Operator
Syntax
Group
Description
Return a delegate for the expr macro Sub or Function matching name.
A delegate's Sub or Function is called using the delegate's Invoke method.
Note: The AddressOf operator returns an object which holds a weak reference to the macro. If no other references to the macro exists then the macro reference is deleted and using the result of the AddressOf operator causes a run-time error.
Parameters |
Description |
This is a macro reference. If omitted then the current macro's reference (Me) is used. |
|
Return a delegate for this Sub or Function. |
See Also
Example
Delegate Function OpType(ByVal v1 As Variant, ByVal v2 As Variant) As Variant
Sub Main
Debug.Print DoOp(AddressOf Add,1,2) ' 3
Debug.Print DoOp(AddressOf Subtract,1,2) '-1
End Sub
Function DoOp(ByVal op As OpType, _
ByVal v1 As Variant, ByVal v2 As Variant) As Variant
DoOp = op.Invoke(v1,v2)
End Function
Function Add(ByVal v1 As Variant, ByVal v2 As Variant) As Variant
Add = v1+v2
End Function
Function Subtract(ByVal v1 As Variant, ByVal v2 As Variant) As Variant
Subtract = v1-v2
End Function