Compartilhar via


Delegate.Combine Método

Definição

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

Confira também

Aplica-se a