Freigeben über


Delegate.Combine Methode

Definition

Verkettet die Aufruflisten der angegebenen Multicast-Delegaten (kombinierbar).

Überlädt

Combine(Delegate[])

Verkettet die Aufruflisten eines Arrays von Stellvertretungen.

Combine(ReadOnlySpan<Delegate>)

Verkettet die Aufruflisten einer Spanne von Stellvertretungen.

Combine(Delegate, Delegate)

Verkettet die Aufruflisten von zwei Stellvertretungen.

Combine(Delegate[])

Quelle:
Delegate.cs
Quelle:
Delegate.cs
Quelle:
Delegate.cs

Verkettet die Aufruflisten eines Arrays von Stellvertretungen.

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

Parameter

delegates
Delegate[]

Das Array der zu kombinierenden Stellvertretungen.

Gibt zurück

Eine neue Stellvertretung mit einer Aufrufliste, die die Aufruflisten der Stellvertretungen im delegates Array verkettet. Gibt null zurück, wenn delegatesnullist, wenn delegates Nullelemente enthält oder wenn jeder Eintrag in delegatesnullist.

Attribute

Ausnahmen

Nicht alle Nicht-NULL-Einträge in delegates sind Instanzen desselben Delegattyps.

Hinweise

Wenn das delegates Array Einträge enthält, die nullsind, werden diese Einträge ignoriert.

Die Aufrufliste kann doppelte Einträge enthalten; d. h. Einträge, die auf dieselbe Methode für dasselbe Objekt verweisen.

Anmerkung

Generische Delegats, die aufgrund der Varianz zuweisungskompatibel sind, sind nicht notwendigerweise kombinierbar. Um kombinierbar zu sein, müssen die Typen exakt übereinstimmen. Angenommen, eine Klasse mit dem Namen Derived wird von einer Klasse mit dem Namen Baseabgeleitet. Ein Delegat vom Typ Action<Base> (Action(Of Base) in Visual Basic) kann einer Variablen vom Typ Action<Derived>zugewiesen werden, wie in Kovarianz und Contravarianceerläutert, aber die beiden Stellvertretungen können nicht kombiniert werden, da die Typen nicht exakt übereinstimmen.

Combine ist nützlich zum Erstellen von Ereignishandlern, die bei jedem Auftreten eines Ereignisses mehrere Methoden aufrufen.

Weitere Informationen

Gilt für:

Combine(ReadOnlySpan<Delegate>)

Verkettet die Aufruflisten einer Spanne von Stellvertretungen.

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

Parameter

delegates
ReadOnlySpan<Delegate>

Die Spanne der zu kombinierenden Stellvertretungen.

Gibt zurück

Ein neuer Delegat mit einer Aufrufliste, die die Aufruflisten der Stellvertretungen in der delegates Spanne verkettet. Gibt null zurück, wenn delegatesnullist, wenn delegates Nullelemente enthält oder wenn jeder Eintrag in delegatesnullist.

Gilt für:

Combine(Delegate, Delegate)

Quelle:
Delegate.cs
Quelle:
Delegate.cs
Quelle:
Delegate.cs

Verkettet die Aufruflisten von zwei Stellvertretungen.

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

Parameter

a
Delegate

Die Stellvertretung, deren Aufrufliste zuerst eintritt.

b
Delegate

Die Stellvertretung, deren Aufrufliste zuletzt angezeigt wird.

Gibt zurück

Ein neuer Delegat mit einer Aufrufliste, die die Aufruflisten von a verkettet und in dieser Reihenfolge b. Gibt a zurück, wenn bnullist, gibt b zurück, wenn a ein Nullverweis ist, und gibt einen Nullverweis zurück, wenn sowohl a als auch b NULL-Bezüge sind.

Ausnahmen

Sowohl a als auch b sind nicht null, und a und b sind keine Instanzen desselben Delegattyps.

Hinweise

Die Aufrufliste kann doppelte Einträge enthalten; d. h. Einträge, die auf dieselbe Methode für dasselbe Objekt verweisen.

Anmerkung

Generische Delegats, die aufgrund der Varianz zuweisungskompatibel sind, sind nicht notwendigerweise kombinierbar. Um kombinierbar zu sein, müssen die Typen exakt übereinstimmen. Angenommen, eine Klasse mit dem Namen Derived wird von einer Klasse mit dem Namen Baseabgeleitet. Ein Delegat vom Typ Action<Base> (Action(Of Base) in Visual Basic) kann einer Variablen vom Typ Action<Derived>zugewiesen werden, wie in Kovarianz und Contravarianceerläutert, aber die beiden Stellvertretungen können nicht kombiniert werden, da die Typen nicht exakt übereinstimmen.

Combine ist nützlich zum Erstellen von Ereignishandlern, die bei jedem Auftreten eines Ereignisses mehrere Methoden aufrufen.

Weitere Informationen

Gilt für: