O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

MulticastDelegate

Synopsis

This is the base class for multicast delegates. Multicast delegates are identical to normal delegates, except that their invocation list can hold more than one method at a time. You can use Delegate.Combine() to add a method to the list and Delegate.Remove() to remove one. In C#, you can also use the + operator (or +=) to add methods. When you invoke a multicast delegate, the methods are invoked synchronously one after the other. An error in one method can prevent the delegate from calling the other methods in its list.

Multicast delegates can also be invoked asynchronously, meaning that the entire call chain is invoked serially by a single thread out of the system thread pool. If it is desirable to invoke each delegate in the chain on its own asynchronous thread instead, then use GetInvocationList() to obtain the list of delegates and asynchronously invoke each one.

public abstract class MulticastDelegate : Delegate {
// Protected Constructors
   protected method MulticastDelegate(object target, 
        string method);  
   protected method MulticastDelegate(Type target, 
        string method);  
// Public Static Methods
   public static bool operator method !=(
        MulticastDelegate d1, MulticastDelegate d2);  
   public static bool operator method ==(
        MulticastDelegate d1, MulticastDelegate d2);  
// Public Instance Methods
   public sealed override method bool Equals(object obj);       // overrides Delegate
   public sealed override method int GetHashCode();              // overrides Delegate public sealed ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required