Condividi tramite


Delegate.Combine Metodo

Definizione

Concatena gli elenchi di chiamate dei delegati multicast (combinabili) specificati.

Overload

Combine(Delegate[])

Concatena gli elenchi di chiamate di una matrice di delegati.

Combine(ReadOnlySpan<Delegate>)

Concatena gli elenchi di chiamate di un intervallo di delegati.

Combine(Delegate, Delegate)

Concatena gli elenchi di chiamate di due delegati.

Combine(Delegate[])

Origine:
Delegate.cs
Origine:
Delegate.cs
Origine:
Delegate.cs

Concatena gli elenchi di chiamate di una matrice di delegati.

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

Parametri

delegates
Delegate[]

Matrice di delegati da combinare.

Restituisce

Nuovo delegato con un elenco chiamate che concatena gli elenchi di chiamate dei delegati nella matrice di delegates. Restituisce null se delegates è null, se delegates contiene zero elementi o se ogni voce in delegates è null.

Attributi

Eccezioni

Non tutte le voci non Null in delegates sono istanze dello stesso tipo delegato.

Commenti

Se la matrice di delegates contiene voci null, tali voci vengono ignorate.

L'elenco chiamate può contenere voci duplicate; ovvero voci che fanno riferimento allo stesso metodo sullo stesso oggetto.

Nota

I delegati generici compatibili con l'assegnazione a causa della varianza non sono necessariamente combinabili. Per essere combinabile, i tipi devono corrispondere esattamente. Si supponga, ad esempio, che una classe denominata Derived sia derivata da una classe denominata Base. Un delegato di tipo Action<Base> (Action(Of Base) in Visual Basic) può essere assegnato a una variabile di tipo Action<Derived>, come illustrato in Covarianza e contravarianza, ma i due delegati non possono essere combinati perché i tipi non corrispondono esattamente.

Combine è utile per la creazione di gestori eventi che chiamano più metodi ogni volta che si verifica un evento.

Vedi anche

Si applica a

Combine(ReadOnlySpan<Delegate>)

Concatena gli elenchi di chiamate di un intervallo di delegati.

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

Parametri

delegates
ReadOnlySpan<Delegate>

Intervallo di delegati da combinare.

Restituisce

Nuovo delegato con un elenco chiamate che concatena gli elenchi di chiamate dei delegati nell'intervallo di delegates. Restituisce null se delegates è null, se delegates contiene zero elementi o se ogni voce in delegates è null.

Si applica a

Combine(Delegate, Delegate)

Origine:
Delegate.cs
Origine:
Delegate.cs
Origine:
Delegate.cs

Concatena gli elenchi di chiamate di due delegati.

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

Parametri

a
Delegate

Delegato il cui elenco chiamate viene prima.

b
Delegate

Delegato il cui elenco chiamate arriva per ultimo.

Restituisce

Nuovo delegato con un elenco chiamate che concatena gli elenchi di chiamate di a e b in tale ordine. Restituisce a se b è null, restituisce b se a è un riferimento Null e restituisce un riferimento Null se sia a che b sono riferimenti Null.

Eccezioni

Sia a che b non sono nulle a e b non sono istanze dello stesso tipo delegato.

Commenti

L'elenco chiamate può contenere voci duplicate; ovvero voci che fanno riferimento allo stesso metodo sullo stesso oggetto.

Nota

I delegati generici compatibili con l'assegnazione a causa della varianza non sono necessariamente combinabili. Per essere combinabile, i tipi devono corrispondere esattamente. Si supponga, ad esempio, che una classe denominata Derived sia derivata da una classe denominata Base. Un delegato di tipo Action<Base> (Action(Of Base) in Visual Basic) può essere assegnato a una variabile di tipo Action<Derived>, come illustrato in Covarianza e contravarianza, ma i due delegati non possono essere combinati perché i tipi non corrispondono esattamente.

Combine è utile per la creazione di gestori eventi che chiamano più metodi ogni volta che si verifica un evento.

Vedi anche

Si applica a