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
|