Delegate.Combine Método

Definição

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

Delegate

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

Delegate

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.

Confira também

Aplica-se a