Multicast Delegate : Delegate « Language Basics « VB.Net

VB.Net
1. 2D
2. Application
3. Class
4. Data Structure
5. Database ADO.net
6. Development
7. Event
8. File Directory
9. Generics
10. GUI
11. Language Basics
12. Network Remote
13. Thread
14. Windows System
15. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
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
w__w___w.__ja_va_2_s___.c___om | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.