Delegate.Combine Método

Definición

Concatena las listas de invocaciones de los delegados de multidifusión (combinables) especificados.

Sobrecargas

Combine(Delegate[])

Concatena las listas de invocaciones de una matriz de delegados.

Combine(Delegate, Delegate)

Concatena las listas de invocaciones de dos delegados.

Combine(Delegate[])

Concatena las listas de invocaciones de una matriz de delegados.

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

Parámetros

delegates
Delegate[]

Matriz de delegados que se combinará.

Devoluciones

Delegate

Nuevo delegado con una lista de invocación que concatena las listas de invocación de los delegados de la matriz delegates. Devuelve null si delegates es null, si delegates no contiene ningún elemento o si todas las entradas de delegates son null.

Atributos

Excepciones

No todas las entradas que no son null de delegates son instancias del mismo tipo de delegado.

Comentarios

Si la delegates matriz contiene entradas que son null, esas entradas se omiten.

La lista de invocación puede contener entradas duplicadas; es decir, entradas que hacen referencia al mismo método en el mismo objeto.

Nota

Los delegados genéricos que son compatibles con la asignación debido a la varianza no son necesariamente combinables. Para poder combinarse, los tipos deben coincidir exactamente. Por ejemplo, supongamos que una clase denominada Derived se deriva de una clase denominada Base. Un delegado de tipo Action<Base> (Action(Of Base) en Visual Basic) se puede asignar a una variable de tipo Action<Derived>, como se explica en Covarianza y Contravarianza, pero los dos delegados no se pueden combinar porque los tipos no coinciden exactamente.

Combine es útil para crear controladores de eventos que llaman a varios métodos cada vez que se produce un evento.

Consulte también

Se aplica a

Combine(Delegate, Delegate)

Concatena las listas de invocaciones de dos delegados.

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

Parámetros

a
Delegate

Delegado cuya lista de invocaciones está en primer lugar.

b
Delegate

Delegado cuya lista de invocaciones está en último lugar.

Devoluciones

Delegate

Nuevo delegado con una lista de invocaciones que concatena las listas de invocaciones de a y b en ese orden. 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.

Excepciones

a y b no son null, y a y b no son instancias del mismo tipo de delegado.

Comentarios

La lista de invocación puede contener entradas duplicadas; es decir, entradas que hacen referencia al mismo método en el mismo objeto.

Nota

Los delegados genéricos que son compatibles con la asignación debido a la varianza no son necesariamente combinables. Para poder combinarse, los tipos deben coincidir exactamente. Por ejemplo, supongamos que una clase denominada Derived se deriva de una clase denominada Base. Un delegado de tipo Action<Base> (Action(Of Base) en Visual Basic) se puede asignar a una variable de tipo Action<Derived>, como se explica en Covarianza y Contravarianza, pero los dos delegados no se pueden combinar porque los tipos no coinciden exactamente.

Combine es útil para crear controladores de eventos que llaman a varios métodos cada vez que se produce un evento.

Consulte también

Se aplica a