Imports System
Public Class MainClass
Public Delegate Sub CallBackFunc()
Private Shared m_cbFunc As CallBackFunc
Public Shared Sub Main()
RegisterDelegate(AddressOf CallBackHandler1)
RegisterDelegate(AddressOf CallBackHandler2)
CallDelegates()
End Sub
Shared Public Sub CallBackHandler1()
Console.WriteLine("Callback 1 returned ")
End Sub
Shared Public Sub CallBackHandler2()
Console.WriteLine("Callback 2 returned ")
End Sub
Shared Public Sub RegisterDelegate(ByRef cbFunc As CallBackFunc)
m_cbFunc = CType(System.Delegate.Combine(m_cbFunc, cbFunc), CallBackFunc)
End Sub
Shared Public Sub CallDelegates()
m_cbFunc()
End Sub
End Class
|