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 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 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 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.