Delegate.Combine Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Concatena as listas de invocação dos delegados (combináveis) multicast especificados.
Sobrecargas
Combine(Delegate[]) |
Concatena as listas de invocação de uma matriz de delegados. |
Combine(Delegate, Delegate) |
Concatena as listas de invocação de dois representantes. |
Combine(Delegate[])
Concatena as listas de invocação de uma 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[]
A matriz de delegados a ser combinada.
Retornos
Um novo delegado com uma lista de invocação que concatena as listas de invocação de delegados na matriz de delegates
. Retornará null
se delegates
for null
, se delegates
contiver zero elementos ou se cada entrada em delegates
for null
.
- Atributos
Exceções
Nem todas as entradas não nulas em delegates
são instâncias do mesmo tipo de delegado.
Comentários
Se a delegates
matriz contiver entradas que são null
, essas entradas serão ignoradas.
A lista de invocação pode conter entradas duplicadas; ou seja, as entradas que fazem referência ao mesmo método no mesmo objeto.
Observação
Os delegados genéricos que são compatíveis com atribuição devido à variância não são necessariamente combináveis. Para ser combinável, os tipos devem corresponder exatamente. Por exemplo, suponha que uma classe chamada Derived
seja derivada de uma classe chamada Base
. um delegado do tipo Action<Base>
( Action(Of Base)
em Visual Basic) pode ser atribuído a uma variável do tipo Action<Derived>
, conforme explicado em covariant e contravariância, mas os dois delegados não podem ser combinados porque os tipos não correspondem exatamente.
Combine é útil para criar manipuladores de eventos que chamam vários métodos cada vez que um evento ocorre.
Confira também
Aplica-se a
Combine(Delegate, Delegate)
Concatena as listas de invocação de dois representantes.
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
O delegado cuja lista de invocação vem em primeiro lugar.
- b
- Delegate
O delegado cuja lista de invocação vem em último lugar.
Retornos
Um novo delegado com uma lista de invocação que concatena as listas de invocação de a
e b
nessa ordem. Retorna a
se b
for null
, retorna b
se a
for uma referência nula e retorna uma referência nula se a
e b
forem referências nulas.
Exceções
a
e b
não são null
, enquanto a
e b
não são instâncias do mesmo tipo de delegado.
Comentários
A lista de invocação pode conter entradas duplicadas; ou seja, as entradas que fazem referência ao mesmo método no mesmo objeto.
Observação
Os delegados genéricos que são compatíveis com atribuição devido à variância não são necessariamente combináveis. Para ser combinável, os tipos devem corresponder exatamente. Por exemplo, suponha que uma classe chamada Derived
seja derivada de uma classe chamada Base
. um delegado do tipo Action<Base>
( Action(Of Base)
em Visual Basic) pode ser atribuído a uma variável do tipo Action<Derived>
, conforme explicado em covariant e contravariância, mas os dois delegados não podem ser combinados porque os tipos não correspondem exatamente.
Combine é útil para criar manipuladores de eventos que chamam vários métodos cada vez que um evento ocorre.