Практическое руководство. Вызов метода делегата (Visual Basic)How to: Invoke a Delegate Method (Visual Basic)

В этом примере показано, как связать метод с делегатом, а затем вызвать этот метод через делегат.This example shows how to associate a method with a delegate and then invoke that method through the delegate.

Создание делегата и процедур сопоставленияCreate the delegate and matching procedures

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

    Delegate Sub MySubDelegate(ByVal x As Integer)
    
  2. Объявите класс, содержащий метод с той же сигнатурой, что и у делегата.Declare a class that contains a method with the same signature as the delegate.

    Class class1
        Sub Sub1(ByVal x As Integer)
            MsgBox("The value of x is: " & CStr(x))
        End Sub
    End Class
    
  3. Определите метод, который создает экземпляр делегата и вызывает метод, связанный с делегатом, вызвав встроенный Invoke метод.Define a method that creates an instance of the delegate and invokes the method associated with the delegate by calling the built-in Invoke method.

    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
    

См. такжеSee also