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

Definice

Zřetězí seznamy volání zadaných delegátů vícesměrového vysílání (s použitím kombinace).Concatenates the invocation lists of the specified multicast (combinable) delegates.

Přetížení

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

Zřetězí seznamy vyvolání pole delegátů.Concatenates the invocation lists of an array of delegates.

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

Zřetězí seznamy volání dvou delegátů.Concatenates the invocation lists of two delegates.

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

Zřetězí seznamy vyvolání pole delegátů.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

Parametry

delegates
Delegate[]

Pole delegátů, které se mají zkombinovatThe array of delegates to combine.

Návraty

Nový delegát se seznamem vyvolání, který zřetězí seznamy volání delegátů v delegates poli.A new delegate with an invocation list that concatenates the invocation lists of the delegates in the delegates array. Vrátí null , delegates Pokud nullje, delegates Pokud je, pokud obsahuje nula prvků, nebo delegates Pokud nullje každá položka v.Returns null if delegates is null, if delegates contains zero elements, or if every entry in delegates is null.

Výjimky

Ne všechny položky, které nejsou null v delegates , jsou instancemi stejného typu delegáta.Not all the non-null entries in delegates are instances of the same delegate type.

Poznámky

Pokud pole obsahuje položky, které jsou null, budou tyto položky ignorovány. delegatesIf the delegates array contains entries that are null, those entries are ignored.

Seznam volání může obsahovat duplicitní položky. To znamená, že položky, které odkazují na stejnou metodu na stejném objektu.The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.

Poznámka

Obecní delegáti, kteří jsou kompatibilní s přiřazováním, protože variance nemusí být nutně kombinace.Generic delegates that are assignment-compatible because of variance are not necessarily combinable. Aby bylo možné typy kombinovat, musí se přesně shodovat.To be combinable, the types must match exactly. Předpokládejme například, že třída s názvem Derived je odvozena z třídy s názvem. BaseFor example, suppose that a class named Derived is derived from a class named Base. Delegát typu Action<Base> (Action(Of Base) v Visual Basic) lze přiřadit proměnné typu Action<Derived>, jak je vysvětleno v kovarianci a kontravariance, ale dva Delegáti nelze kombinovat, protože typy se přesně neshodují.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.

Combineje užitečné pro vytváření obslužných rutin událostí, které volají více metod pokaždé, když dojde k události.Combine is useful for creating event handlers that call multiple methods each time an event occurs.

Zabezpečení

ReflectionPermission
Při volání s pozdní vazbou prostřednictvím mechanismů InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]), jako je.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Přidružený výčet:MemberAccessAssociated enumeration: MemberAccess

Viz také

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

Zřetězí seznamy volání dvou delegátů.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

Parametry

a
Delegate Delegate Delegate Delegate

Delegát, jehož seznam volání se nachází jako první.The delegate whose invocation list comes first.

b
Delegate Delegate Delegate Delegate

Delegát, jehož seznam volání se vyskytuje jako posledníThe delegate whose invocation list comes last.

Návraty

Nový delegát se seznamem volání, který zřetězí seznamy a vyvolání a b v tomto pořadí.A new delegate with an invocation list that concatenates the invocation lists of a and b in that order. Vrátí a , b Pokud je a b , vrátí b , Pokuda je nulový odkaz, a vrátí odkaz s hodnotou null, pokud má obojí i odkazy null. nullReturns 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.

Výjimky

a A b nejsouaabnejsou instancemi stejného typu delegáta. a nullBoth a and b are not null, and a and b are not instances of the same delegate type.

Poznámky

Seznam volání může obsahovat duplicitní položky. To znamená, že položky, které odkazují na stejnou metodu na stejném objektu.The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.

Poznámka

Obecní delegáti, kteří jsou kompatibilní s přiřazováním, protože variance nemusí být nutně kombinace.Generic delegates that are assignment-compatible because of variance are not necessarily combinable. Aby bylo možné typy kombinovat, musí se přesně shodovat.To be combinable, the types must match exactly. Předpokládejme například, že třída s názvem Derived je odvozena z třídy s názvem. BaseFor example, suppose that a class named Derived is derived from a class named Base. Delegát typu Action<Base> (Action(Of Base) v Visual Basic) lze přiřadit proměnné typu Action<Derived>, jak je vysvětleno v kovarianci a kontravariance, ale dva Delegáti nelze kombinovat, protože typy se přesně neshodují.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.

Combineje užitečné pro vytváření obslužných rutin událostí, které volají více metod pokaždé, když dojde k události.Combine is useful for creating event handlers that call multiple methods each time an event occurs.

Zabezpečení

ReflectionPermission
Při volání s pozdní vazbou prostřednictvím mechanismů InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]), jako je.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Přidružený výčet:MemberAccessAssociated enumeration: MemberAccess

Viz také

Platí pro