Delegate.Combine Delegate.Combine Delegate.Combine Delegate.Combine Method

Definition

Verkettet die Aufruflisten der angegebenen Multicastdelegaten.Concatenates the invocation lists of the specified multicast (combinable) delegates.

Überlädt

Combine(Delegate[]) Combine(Delegate[]) Combine(Delegate[]) Combine(Delegate[])

Verkettet die Aufruflisten eines Arrays von Delegaten.Concatenates the invocation lists of an array of delegates.

Combine(Delegate, Delegate) Combine(Delegate, Delegate) Combine(Delegate, Delegate) Combine(Delegate, Delegate)

Verkettet die Aufruflisten zweier Delegaten.Concatenates the invocation lists of two delegates.

Combine(Delegate[]) Combine(Delegate[]) Combine(Delegate[]) Combine(Delegate[])

Verkettet die Aufruflisten eines Arrays von Delegaten.Concatenates the invocation lists of an array of delegates.

public:
 static Delegate ^ Combine(... cli::array <Delegate ^> ^ delegates);
[System.Runtime.InteropServices.ComVisible(true)]
public static Delegate Combine (params Delegate[] delegates);
static member Combine : Delegate[] -> Delegate
Public Shared Function Combine (ParamArray delegates As Delegate()) As Delegate

Parameter

delegates
Delegate[]

Das zu kombinierende Array von Delegaten.The array of delegates to combine.

Gibt zurück

Ein neuer Delegat mit einer Aufrufliste, die aus der Verkettung der Aufruflisten der Delegaten im delegates-Array besteht.A new delegate with an invocation list that concatenates the invocation lists of the delegates in the delegates array. Gibt null zurück, wenn delegates null ist, delegates 0 Elemente enthält oder jeder Eintrag in delegates null ist.Returns null if delegates is null, if delegates contains zero elements, or if every entry in delegates is null.

Ausnahmen

Nicht alle Einträge ungleich null in delegates sind Instanzen des gleichen Delegattyps.Not all the non-null entries in delegates are instances of the same delegate type.

Hinweise

Wenn die delegates Array enthält Einträge null, diese Einträge werden ignoriert.If the delegates array contains entries that are null, those entries are ignored.

Die Aufrufliste kann doppelte Einträge enthalten. d. h. die Einträge, die auf die gleiche Methode für das gleiche Objekt verweisen.The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.

Hinweis

Generische Delegaten, die zuweisungskompatibel sind aufgrund der Varianz sind nicht unbedingt mit den flexibel kombinierbaren.Generic delegates that are assignment-compatible because of variance are not necessarily combinable. Um mit den flexibel kombinierbaren sein, müssen die Typen exakt übereinstimmen.To be combinable, the types must match exactly. Nehmen wir beispielsweise an, dass eine Klasse mit dem Namen Derived stammt aus einer Klasse namens Base.For example, suppose that a class named Derived is derived from a class named Base. Ein Delegat vom Typ Action<Base> (Action(Of Base) in Visual Basic) kann eine Variable des Typs zugewiesen werden Action<Derived>, wie unter Kovarianz und Kontravarianz, aber die beiden Delegaten können nicht kombiniert werden, da die Typen bereitgestellt werden nicht exakt überein.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 ist nützlich für das Erstellen von Ereignishandlern, die, dass mehrere Methoden jedes Mal bei einem Ereignis des Anrufs gewählt.Combine is useful for creating event handlers that call multiple methods each time an event occurs.

Sicherheit

ReflectionPermission
Beim Aufruf spät gebundene durch Mechanismen wie z. B. InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]).when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Zugeordnete Enumeration: MemberAccessAssociated enumeration: MemberAccess

Siehe auch

Combine(Delegate, Delegate) Combine(Delegate, Delegate) Combine(Delegate, Delegate) Combine(Delegate, Delegate)

Verkettet die Aufruflisten zweier Delegaten.Concatenates the invocation lists of two delegates.

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 Delegate Delegate Delegate

Der Delegat, dessen Aufrufliste die erste Liste ist.The delegate whose invocation list comes first.

b
Delegate Delegate Delegate Delegate

Der Delegat, dessen Aufrufliste die letzte Liste ist.The delegate whose invocation list comes last.

Gibt zurück

Eine neuer Delegat mit einer Aufrufliste, die aus der Verkettung der Aufruflisten von a und b in dieser Reihenfolge besteht.A new delegate with an invocation list that concatenates the invocation lists of a and b in that order. Gibt a zurück, wenn b gleich null ist, gibt b zurück, wenn a ein NULL-Verweis ist, und gibt einen NULL-Verweis zurück, wenn a und b NULL-Verweise sind.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.

Ausnahmen

Sowohl a als auch b sind nicht gleich null, und a und b sind keine Instanzen desselben Delegatentyps.Both a and b are not null, and a and b are not instances of the same delegate type.

Hinweise

Die Aufrufliste kann doppelte Einträge enthalten. d. h. die Einträge, die auf die gleiche Methode für das gleiche Objekt verweisen.The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.

Hinweis

Generische Delegaten, die zuweisungskompatibel sind aufgrund der Varianz sind nicht unbedingt mit den flexibel kombinierbaren.Generic delegates that are assignment-compatible because of variance are not necessarily combinable. Um mit den flexibel kombinierbaren sein, müssen die Typen exakt übereinstimmen.To be combinable, the types must match exactly. Nehmen wir beispielsweise an, dass eine Klasse mit dem Namen Derived stammt aus einer Klasse namens Base.For example, suppose that a class named Derived is derived from a class named Base. Ein Delegat vom Typ Action<Base> (Action(Of Base) in Visual Basic) kann eine Variable des Typs zugewiesen werden Action<Derived>, wie unter Kovarianz und Kontravarianz, aber die beiden Delegaten können nicht kombiniert werden, da die Typen bereitgestellt werden nicht exakt überein.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 ist nützlich für das Erstellen von Ereignishandlern, die, dass mehrere Methoden jedes Mal bei einem Ereignis des Anrufs gewählt.Combine is useful for creating event handlers that call multiple methods each time an event occurs.

Sicherheit

ReflectionPermission
Beim Aufruf spät gebundene durch Mechanismen wie z. B. InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]).when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Zugeordnete Enumeration: MemberAccessAssociated enumeration: MemberAccess

Siehe auch

Gilt für: