Concatenates the invocation lists of the specified multicast (combinable) delegates.
Overloads Combine(Delegate[])Concatenates the invocation lists of an array of delegates.
public:
static Delegate ^ Combine(... cli::array <Delegate ^> ^ delegates);
public:
static Delegate ^ Combine(cli::array <Delegate ^> ^ delegates);
public static Delegate Combine(params Delegate[] delegates);
public static Delegate? Combine(params Delegate?[]? delegates);
public static Delegate Combine(Delegate[] delegates);
[System.Runtime.InteropServices.ComVisible(true)]
public static Delegate Combine(params Delegate[] delegates);
static member Combine : Delegate[] -> Delegate
[<System.Runtime.InteropServices.ComVisible(true)>]
static member Combine : Delegate[] -> Delegate
Public Shared Function Combine (ParamArray delegates As Delegate()) As Delegate
Public Shared Function Combine (delegates As Delegate()) As Delegate
Parameters
The array of delegates to combine.
ReturnsA 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.
Note
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, 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.
See also Combine(ReadOnlySpan<Delegate>)Concatenates the invocation lists of an span of delegates.
public:
static Delegate ^ Combine(ReadOnlySpan<Delegate ^> delegates);
public static Delegate? Combine(scoped ReadOnlySpan<Delegate?> delegates);
static member Combine : ReadOnlySpan<Delegate> -> Delegate
Public Shared Function Combine (delegates As ReadOnlySpan(Of Delegate)) As Delegate
Parameters Returns
A new delegate with an invocation list that concatenates the invocation lists of the delegates in the delegates
span. Returns null
if delegates
is null
, if delegates
contains zero elements, or if every entry in delegates
is null
.
Concatenates the invocation lists of two delegates.
public:
static Delegate ^ Combine(Delegate ^ a, Delegate ^ b);
public static Delegate Combine(Delegate a, Delegate b);
public static Delegate? Combine(Delegate? a, Delegate? b);
static member Combine : Delegate * Delegate -> Delegate
Public Shared Function Combine (a As Delegate, b As Delegate) As Delegate
Parameters
The delegate whose invocation list comes first.
The delegate whose invocation list comes last.
ReturnsA new delegate with an invocation list that concatenates the invocation lists of a
and b
in that order. Returns a
if b
is null
, returns b
if a
is a null reference, and returns a null reference if both a
and b
are null references.
Both a
and b
are not null
, and a
and b
are not instances of the same delegate type.
The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.
Note
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, 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.
See alsoCollaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide. In this articleWas this page helpful?
Additional resourcesRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4