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

Definición

Concatena las listas de invocaciones de los delegados de multidifusión (combinables) especificados.Concatenates the invocation lists of the specified multicast (combinable) delegates.

Sobrecargas

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

Concatena las listas de invocaciones de una matriz de delegados.Concatenates the invocation lists of an array of delegates.

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

Concatena las listas de invocaciones de dos delegados.Concatenates the invocation lists of two delegates.

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

Concatena las listas de invocaciones de una matriz de delegados.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

Parámetros

delegates
Delegate[]

Matriz de delegados que se combinará.The array of delegates to combine.

Devoluciones

Nuevo delegado con una lista de invocación que concatena las listas de invocación de los delegados de la matriz delegates.A new delegate with an invocation list that concatenates the invocation lists of the delegates in the delegates array. Devuelve null si delegates es null, si delegates no contiene ningún elemento o si todas las entradas de delegates son null.Returns null if delegates is null, if delegates contains zero elements, or if every entry in delegates is null.

Excepciones

No todas las entradas que no son null de delegates son instancias del mismo tipo de delegado.Not all the non-null entries in delegates are instances of the same delegate type.

Comentarios

Si la delegates matriz contiene entradas que son null, esas entradas se omiten.If the delegates array contains entries that are null, those entries are ignored.

La lista de invocación puede contener entradas duplicadas. es decir, las entradas que hacen referencia al mismo método en el mismo objeto.The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.

Nota

Los delegados genéricos que son compatibles con la asignación debido a la varianza no tienen por qué ser combinables.Generic delegates that are assignment-compatible because of variance are not necessarily combinable. Para que sea combinable, los tipos deben coincidir exactamente.To be combinable, the types must match exactly. Por ejemplo, supongamos que una Derived clase denominada se deriva de una Baseclase denominada.For example, suppose that a class named Derived is derived from a class named Base. Un delegado de tipo Action<Base> (Action(Of Base) en Visual Basic) se puede asignar a una variable de tipo Action<Derived>, tal como se explica en la covarianza y la contravarianza, pero los dos delegados no se pueden combinar porque los tipos no coinciden exactamente.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.

Combineresulta útil para crear controladores de eventos que llaman a varios métodos cada vez que se produce un evento.Combine is useful for creating event handlers that call multiple methods each time an event occurs.

Seguridad

ReflectionPermission
Cuando se invoca enlazado en tiempo de ejecución mediante InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])mecanismos como.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Enumeración asociada:MemberAccessAssociated enumeration: MemberAccess

Consulte también:

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

Concatena las listas de invocaciones de dos delegados.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

Parámetros

a
Delegate Delegate Delegate Delegate

Delegado cuya lista de invocaciones está en primer lugar.The delegate whose invocation list comes first.

b
Delegate Delegate Delegate Delegate

Delegado cuya lista de invocaciones está en último lugar.The delegate whose invocation list comes last.

Devoluciones

Nuevo delegado con una lista de invocaciones que concatena las listas de invocaciones de a y b en ese orden.A new delegate with an invocation list that concatenates the invocation lists of a and b in that order. Devuelve a si b es null, devuelve b si a es una referencia nula y devuelve una referencia nula cuando tanto a como b son referencias nulas.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.

Excepciones

a y b no son null, y a y b no son instancias del mismo tipo de delegado.Both a and b are not null, and a and b are not instances of the same delegate type.

Comentarios

La lista de invocación puede contener entradas duplicadas. es decir, las entradas que hacen referencia al mismo método en el mismo objeto.The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.

Nota

Los delegados genéricos que son compatibles con la asignación debido a la varianza no tienen por qué ser combinables.Generic delegates that are assignment-compatible because of variance are not necessarily combinable. Para que sea combinable, los tipos deben coincidir exactamente.To be combinable, the types must match exactly. Por ejemplo, supongamos que una Derived clase denominada se deriva de una Baseclase denominada.For example, suppose that a class named Derived is derived from a class named Base. Un delegado de tipo Action<Base> (Action(Of Base) en Visual Basic) se puede asignar a una variable de tipo Action<Derived>, tal como se explica en la covarianza y la contravarianza, pero los dos delegados no se pueden combinar porque los tipos no coinciden exactamente.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.

Combineresulta útil para crear controladores de eventos que llaman a varios métodos cada vez que se produce un evento.Combine is useful for creating event handlers that call multiple methods each time an event occurs.

Seguridad

ReflectionPermission
Cuando se invoca enlazado en tiempo de ejecución mediante InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])mecanismos como.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Enumeración asociada:MemberAccessAssociated enumeration: MemberAccess

Consulte también:

Se aplica a