Name

AddressOf Operator

Syntax

AddressOfprocedurename
procedurename

Use: Required

The name of a procedure that is referenced by the procedure delegate

Description

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:

    AddressOffunctionname
  • 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 6.1 in Chapter 6.

VB .NET/VB 6 Differences

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.

Get VB .NET Language in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.