AddressOf Operator (Visual Basic)

Creates a delegate instance that references the specific procedure.


AddressOf procedurename  


Required. Specifies the procedure to be referenced by the newly created delegate.


The AddressOf operator creates a delegate that points to the sub or function specified by procedurename. When the specified procedure is an instance method then the delegate refers to both the instance and the method. Then, when the delegate is invoked the specified method of the specified instance is called.

The AddressOf operator can be used as the operand of a delegate constructor or it can be used in a context in which the type of the delegate can be determined by the compiler.

Example 1

This example uses the AddressOf operator to designate a delegate to handle the Click event of a button.

' Add the following line to Sub Form1_Load().
AddHandler Button1.Click, AddressOf Button1_Click

Example 2

The following example uses the AddressOf operator to designate the startup function for a thread.

Public Sub CountSheep()
    Dim i As Integer = 1 ' Sheep do not count from 0.
    Do While (True) ' Endless loop.
        Console.WriteLine("Sheep " & i & " Baah")
        i = i + 1
        System.Threading.Thread.Sleep(1000) 'Wait 1 second.
End Sub

Sub UseThread()
    Dim t As New System.Threading.Thread(AddressOf CountSheep)
End Sub

See also