This documentation is archived and is not being maintained.

AddressOf Operator (Visual Basic)

Creates a procedure delegate instance that references the specific procedure.

AddressOf procedurename


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

The AddressOf operator creates a function delegate that points to the function specified by procedurename. When the specified procedure is an instance method then the function delegate refers to both the instance and the method. Then, when the function 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.

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

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