Compartir a través de


Delegate.Combine Método

Definición

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

Sobrecargas

Combine(Delegate[])

Concatena las listas de invocación de una matriz de delegados.

Combine(ReadOnlySpan<Delegate>)

Concatena las listas de invocación de un intervalo de delegados.

Combine(Delegate, Delegate)

Concatena las listas de invocación de dos delegados.

Combine(Delegate[])

Source:
Delegate.cs
Source:
Delegate.cs
Source:
Delegate.cs

Concatena las listas de invocación 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 van a combinar.

Devoluciones

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 contiene cero elementos o si cada entrada de delegates es null.

Atributos

Excepciones

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

Comentarios

Si la matriz delegates 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 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. Se puede asignar un delegado de tipo Action<Base> (Action(Of Base) en Visual Basic) a una variable de tipo Action<Derived>, como se explica en Covariance y Contravariance, pero los dos delegados no se pueden combinar porque los tipos no coinciden exactamente.

Combine resulta ú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(ReadOnlySpan<Delegate>)

Concatena las listas de invocación de un intervalo de delegados.

public:
 static Delegate ^ Combine(ReadOnlySpan<Delegate ^> delegates);
public static Delegate? Combine (scoped ReadOnlySpan<Delegate?> delegates);
static member Combine : ReadOnlySpan<Delegate> -> Delegate
Public Shared Function Combine (delegates As ReadOnlySpan(Of Delegate)) As Delegate

Parámetros

delegates
ReadOnlySpan<Delegate>

Intervalo de delegados que se van a combinar.

Devoluciones

Nuevo delegado con una lista de invocación que concatena las listas de invocación de los delegados en el intervalo de delegates. Devuelve null si delegates es null, si delegates contiene cero elementos o si cada entrada de delegates es null.

Se aplica a

Combine(Delegate, Delegate)

Source:
Delegate.cs
Source:
Delegate.cs
Source:
Delegate.cs

Concatena las listas de invocación 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 invocación viene primero.

b
Delegate

Delegado cuya lista de invocación viene por última vez.

Devoluciones

Un nuevo delegado con una lista de invocación que concatena las listas de invocación 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 si a y b son referencias nulas.

Excepciones

Tanto a como b no son nully 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 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. Se puede asignar un delegado de tipo Action<Base> (Action(Of Base) en Visual Basic) a una variable de tipo Action<Derived>, como se explica en Covariance y Contravariance, pero los dos delegados no se pueden combinar porque los tipos no coinciden exactamente.

Combine resulta ú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