Практическое руководство. Вызов метода делегата (Visual Basic)

В этом примере показано, как связать метод с делегатом, а затем вызвать этот метод с помощью делегата.

Создание процедур делегата и сопоставления

  1. Создайте делегат с именем MySubDelegate.

    Delegate Sub MySubDelegate(ByVal x As Integer)
    
  2. Объявите класс, содержащий метод с той же сигнатурой, что и делегат.

    Class class1
        Sub Sub1(ByVal x As Integer)
            MsgBox("The value of x is: " & CStr(x))
        End Sub
    End Class
    
  3. Определите метод, который создает экземпляр делегата и вызывает метод, связанный с делегатом, вызывая встроенный Invoke метод.

    Protected Sub DelegateTest()
        Dim c1 As New class1
        ' Create an instance of the delegate.
        Dim msd As MySubDelegate = AddressOf c1.Sub1
        ' Call the method.
        msd.Invoke(10)
    End Sub
    

См. также