Оператор AddressOf (Visual Basic)

Создает экземпляр делегата, ссылающийся на определенную процедуру.

Синтаксис

AddressOf procedurename  

Детали

procedurename
Обязательный. Указывает процедуру, на которую ссылается только что созданный делегат.

Замечания

Оператор AddressOf создает делегат, указывающий на под или функцию, указанную в procedurename. Если указанная процедура является методом экземпляра, делегат ссылается как на экземпляр, так и на метод. Затем при вызове делегата вызывается указанный метод указанного экземпляра.

Оператор AddressOf можно использовать в качестве операнда конструктора делегата или его можно использовать в контексте, в котором тип делегата можно определить компилятором.

Пример 1

В этом примере оператор используется AddressOf для назначения делегата для обработки Click события кнопки.

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

Пример 2

В следующем примере оператор используется AddressOf для назначения функции запуска для потока.

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.
    Loop
End Sub

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

См. также