Delegate.Combine Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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
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.