Como invocar um método delegado (Visual Basic)

Esse exemplo mostra como associar um método a um delegado e depois invoca esse método por meio do delegado.

Criar o delegado e os procedimentos correspondentes

  1. Para criar um delegado chamado MySubDelegate.

    Delegate Sub MySubDelegate(ByVal x As Integer)
    
  2. Declare uma classe que contenha um método com a mesma assinatura que o delegado.

    Class class1
        Sub Sub1(ByVal x As Integer)
            MsgBox("The value of x is: " & CStr(x))
        End Sub
    End Class
    
  3. Defina um método que cria uma instância do delegado e invoca o método associado ao delegado chamando o método interno 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
    

Confira também