Two ways to init a Delegate : Delegate « Language Basics « VB.Net






Two ways to init a Delegate

Two ways to init a Delegate
 
Imports System
Imports System.Collections


Delegate Sub DelegateWithStringSignature(ByVal S As String)
Delegate Sub DelegateWithNoParam()

public class MainClass

   Shared Sub Main()

        Dim c As New CalledClass()
        Dim o As New OtherCalledClass()
        Dim BadObject As New ObjectWithNoWriteMessage()
        Dim d1 As DelegateWithStringSignature

        Dim Params() As Object = {"DynamicParam"}

        ' The two following lines are identical
        d1 = New DelegateWithStringSignature(AddressOf c.WriteMessage)

        d1.Invoke("Test")
        d1.DynamicInvoke(Params)

        d1 = AddressOf c.WriteMessage

        d1.Invoke("Test")
        d1.DynamicInvoke(Params)

   End Sub

End Class

Class CalledClass
    Shared Sub SharedMessage(ByVal s As String)
        Console.WriteLine("CalledClass.SharedMessage with parameter: " & s)
    End Sub

    Public Sub WriteMessage(ByVal s As String)
        Console.WriteLine("CalledClass WriteMessage method with parameter: " & s)
    End Sub
End Class

Class OtherCalledClass
    Sub WriteMessage(ByVal s As String)
        Console.WriteLine("OtherCalledClass WriteMessage method with parameter: " & s)
    End Sub
End Class

Class ObjectWithNoWriteMessage
    Sub BadWriteMessage()

    End Sub
End Class

           
         
  








Related examples in the same category

1.Delegate with and without parametersDelegate with and without parameters
2.Multicast DelegateMulticast Delegate
3.Use Delegate to implement custome sortUse Delegate to implement custome sort
4.Register Delegates and call themRegister Delegates and call them
5.Simple Delegate DemoSimple Delegate Demo
6.Sort DelegateSort Delegate
7.Function Delegation DemoFunction Delegation Demo
8.Function Delegate: output stringFunction Delegate: output string
9.Delegate Demo for a Simple ClassDelegate Demo for a Simple Class
10.Delegate Syntax