Delegate.Combine Méthode

Définition

Concatène les listes d'appel des délégués multicast (pouvant être combinés) spécifiés.Concatenates the invocation lists of the specified multicast (combinable) delegates.

Surcharges

Combine(Delegate[])

Concatène les listes d'appel d'un tableau de délégués.Concatenates the invocation lists of an array of delegates.

Combine(Delegate, Delegate)

Concatène les listes d'appel de deux délégués.Concatenates the invocation lists of two delegates.

Combine(Delegate[])

Concatène les listes d'appel d'un tableau de délégués.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 (Delegate[] delegates);
static member Combine : Delegate[] -> Delegate
Public Shared Function Combine (delegates As Delegate()) As Delegate

Paramètres

delegates
Delegate[]

Tableau de délégués à combiner.The array of delegates to combine.

Retours

Nouveau délégué avec une liste d’invocation qui concatène les listes d’invocation des délégués dans le tableau delegates.A new delegate with an invocation list that concatenates the invocation lists of the delegates in the delegates array. Retourne null si delegates est null, si delegates contient zéro élément ou si chaque entrée de delegates est null.Returns null if delegates is null, if delegates contains zero elements, or if every entry in delegates is null.

Attributs

Exceptions

Les entrées non null dans delegates ne sont pas toutes des instances du même type de délégué.Not all the non-null entries in delegates are instances of the same delegate type.

Remarques

Si le delegates tableau contient des entrées qui nullsont, ces entrées sont ignorées.If the delegates array contains entries that are null, those entries are ignored.

La liste d’appel peut contenir des entrées en double ; autrement dit, les entrées qui font référence à la même méthode sur le même objet.The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.

Notes

Les délégués génériques qui sont compatibles avec l’assignation en raison de la variance ne sont pas nécessairement combinables.Generic delegates that are assignment-compatible because of variance are not necessarily combinable. Pour être combinable, les types doivent correspondre exactement.To be combinable, the types must match exactly. Par exemple, supposons qu’une classe Derived nommée est dérivée d’une Baseclasse nommée.For example, suppose that a class named Derived is derived from a class named Base. Un délégué de type Action<Base> (Action(Of Base) dans Visual Basic) peut être assigné à une variable de type Action<Derived>, comme expliqué dans la covariance et la contravariance, mais les deux délégués ne peuvent pas être combinés, car les types ne correspondent pas exactement.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.

Combineest utile pour créer des gestionnaires d’événements qui appellent plusieurs méthodes chaque fois qu’un événement se produit.Combine is useful for creating event handlers that call multiple methods each time an event occurs.

Sécurité

ReflectionPermission
en cas d’appel à liaison tardive via des mécanismes InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])tels que.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Énumération associée:MemberAccessAssociated enumeration: MemberAccess

Voir aussi

Combine(Delegate, Delegate)

Concatène les listes d'appel de deux délégués.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

Paramètres

a
Delegate

Délégué dont la liste d’appel est la première.The delegate whose invocation list comes first.

b
Delegate

Délégué dont la liste d’appel est la dernière.The delegate whose invocation list comes last.

Retours

Nouveau délégué avec une liste d’appel qui concatène les listes d’appel de a et b, dans cet ordre.A new delegate with an invocation list that concatenates the invocation lists of a and b in that order. Retourne a si b est null, retourne b si a est une référence null, et retourne une référence null si a et b sont des références null.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.

Exceptions

a et b ne sont ni l’un ni l’autre null, et a et b ne sont pas des instances du même type délégué.Both a and b are not null, and a and b are not instances of the same delegate type.

Remarques

La liste d’appel peut contenir des entrées en double ; autrement dit, les entrées qui font référence à la même méthode sur le même objet.The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.

Notes

Les délégués génériques qui sont compatibles avec l’assignation en raison de la variance ne sont pas nécessairement combinables.Generic delegates that are assignment-compatible because of variance are not necessarily combinable. Pour être combinable, les types doivent correspondre exactement.To be combinable, the types must match exactly. Par exemple, supposons qu’une classe Derived nommée est dérivée d’une Baseclasse nommée.For example, suppose that a class named Derived is derived from a class named Base. Un délégué de type Action<Base> (Action(Of Base) dans Visual Basic) peut être assigné à une variable de type Action<Derived>, comme expliqué dans la covariance et la contravariance, mais les deux délégués ne peuvent pas être combinés, car les types ne correspondent pas exactement.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.

Combineest utile pour créer des gestionnaires d’événements qui appellent plusieurs méthodes chaque fois qu’un événement se produit.Combine is useful for creating event handlers that call multiple methods each time an event occurs.

Sécurité

ReflectionPermission
en cas d’appel à liaison tardive via des mécanismes InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])tels que.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Énumération associée:MemberAccessAssociated enumeration: MemberAccess

Voir aussi

S’applique à