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 multicast (combináveis) especificados.
Sobrecargas
Combine(Delegate[]) |
Concatena as listas de invocação de uma matriz de delegados. |
Combine(ReadOnlySpan<Delegate>) |
Concatena as listas de invocação de um intervalo de delegados. |
Combine(Delegate, Delegate) |
Concatena as listas de invocação de dois delegados. |
Combine(Delegate[])
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
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 combinar.
Retornos
Um novo delegado com uma lista de invocação que concatena as listas de invocação dos delegados na matriz delegates
. Retorna null
se delegates
for null
, se delegates
contiver zero elementos ou se cada entrada no delegates
for null
.
- Atributos
Exceções
Nem todas as entradas não nulas em delegates
são instâncias do mesmo tipo delegado.
Comentários
Se a matriz delegates
contiver entradas null
, essas entradas serão ignoradas.
A lista de invocação pode conter entradas duplicadas; ou seja, entradas que se referem ao mesmo método no mesmo objeto.
Nota
Delegados genéricos compatíveis com atribuição devido à variação não são necessariamente combináveis. Para serem combináveis, 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)
no Visual Basic) pode ser atribuído a uma variável do tipo Action<Derived>
, conforme explicado em covariância 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 sempre que um evento ocorre.
Confira também
Aplica-se a
Combine(ReadOnlySpan<Delegate>)
Concatena as listas de invocação de um 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>
O intervalo de delegados a serem combinados.
Retornos
Um novo delegado com uma lista de invocação que concatena as listas de invocação dos delegados no intervalo de delegates
.
Retorna null
se delegates
for null
, se delegates
contiver zero elementos ou se cada entrada no delegates
for null
.
Aplica-se a
Combine(Delegate, Delegate)
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
- Origem:
- Delegate.cs
Concatena as listas de invocação de dois 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
O delegado cuja lista de invocação vem primeiro.
- b
- Delegate
O delegado cuja lista de invocação vem por último.
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
, retornará b
se a
for uma referência nula e retornará uma referência nula se a
e b
forem referências nulas.
Exceções
Tanto a
quanto b
não são null
e a
e b
não são instâncias do mesmo tipo delegado.
Comentários
A lista de invocação pode conter entradas duplicadas; ou seja, entradas que se referem ao mesmo método no mesmo objeto.
Nota
Delegados genéricos compatíveis com atribuição devido à variação não são necessariamente combináveis. Para serem combináveis, 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)
no Visual Basic) pode ser atribuído a uma variável do tipo Action<Derived>
, conforme explicado em covariância 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 sempre que um evento ocorre.