Delegate.Combine Method (Delegate)
Concatenates the invocation lists of an array of delegates.
Assembly: mscorlib (in mscorlib.dll)
[ComVisibleAttribute(true)] public static Delegate Combine( params Delegate delegates )
- Type: System.Delegate
The array of delegates to combine.
Return ValueType: System.Delegate
A new delegate with an invocation list that concatenates the invocation lists of the delegates in the delegates array. Returns null if delegates is null, if delegates contains zero elements, or if every entry in delegates is null.
Not all the non-null entries in delegates are instances of the same delegate type.
If the delegates array contains entries that are null, those entries are ignored.
The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.
Generic delegates that are assignment-compatible because of variance are not necessarily combinable. To be combinable, the types must match exactly. For example, suppose that a class named Derived is derived from a class named Base. A delegate of type Action<Base> (Action(Of Base) in Visual Basic) can be assigned to a variable of type Action<Derived>, as explained in Covariance and Contravariance in Generics, but the two delegates cannot be combined because the types do not match exactly.
Combine is useful for creating event handlers that call multiple methods each time an event occurs.
.NET FrameworkSupported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0
.NET Framework Client ProfileSupported in: 4, 3.5 SP1
Portable Class LibrarySupported in: Portable Class Library
.NET for Windows Store appsSupported in: Windows 8
.NET for Windows Phone appsSupported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1
Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)