Multicast Delegate : Delegate « Language Basics « VB.Net

Home
VB.Net
1.2D
2.Application
3.Class
4.Data Structure
5.Data Types
6.Database ADO.net
7.Date Time
8.Development
9.Event
10.File Directory
11.Generics
12.GUI
13.Internationalization I18N
14.Language Basics
15.LINQ
16.Network Remote
17.Reflection
18.Security
19.Thread
20.Windows Presentation Foundation
21.Windows System
22.XML
23.XML LINQ
VB.Net Tutorial
VB.Net by API
VB.Net » Language Basics » DelegateScreenshots 
Multicast Delegate
Multicast Delegate
 
Imports System

Public Class MainClass
    Shared Sub Main(  )
             Dim Writer, Logger As _
                MyClassWithDelegate.StringDelegate

             Dim myMulticastDelegate As MyClassWithDelegate.StringDelegate

             Writer = New MyClassWithDelegate.StringDelegate_
                  AddressOf MyImplementingClass.WriteString)
             Logger = New MyClassWithDelegate.StringDelegate_
                  AddressOf MyImplementingClass.LogString)

             Dim arr(  ) As MyClassWithDelegate.StringDelegate = _
                {Writer, Logger}

             Writer("String passed to Writer" & vbCrLf)

             Logger("String passed to Logger" & vbCrLf)

             Console.WriteLine(vbCrLf & "myMulticastDelegate = " + _
                "Writer and Logger")

             myMulticastDelegate = _
               DirectCast(System.Delegate.Combine(arr), _
                 MyClassWithDelegate.StringDelegate)

             myMulticastDelegate("First string passed to Collector")

             Console.WriteLine(vbCrLf & _
                "myMulticastDelegate Adds Transmitter")


             Console.WriteLine(vbCrLf & "myMulticastDelegate -= Logger")

             myMulticastDelegate = _
                DirectCast(System.Delegate.Remove(myMulticastDelegate, _
                   Logger),  MyClassWithDelegate.StringDelegate)

             myMulticastDelegate("Third string passed to Collector")
    
    End Sub 'Main

   
End Class

     Public Class MyClassWithDelegate
         Public Delegate Sub StringDelegate(ByVal s As String)
     End Class

     Public Class MyImplementingClass
         Public Shared Sub WriteString(ByVal s As String)
             Console.WriteLine("Writing string {0}", s)
         End Sub

         Public Shared Sub LogString(ByVal s As String)
             Console.WriteLine("Logging string {0}", s)
         End Sub

     End Class

           
         
  
Related examples in the same category
1.Delegate with and without parametersDelegate with and without parameters
2.Two ways to init a DelegateTwo ways to init a 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
w___w_w.__j_a___v__a_2_s.__c__o__m__ | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.