Delegate.Combine Metodo

Definizione

Esegue la concatenazione dell'elenco chiamate dei delegati multicast, o combinabili, specificati.Concatenates the invocation lists of the specified multicast (combinable) delegates.

Overload

Combine(Delegate[])

Esegue la concatenazione degli elenchi chiamate di una matrice di delegati.Concatenates the invocation lists of an array of delegates.

Combine(Delegate, Delegate)

Esegue la concatenazione degli elenchi chiamate di due delegati.Concatenates the invocation lists of two delegates.

Combine(Delegate[])

Esegue la concatenazione degli elenchi chiamate di una matrice di delegati.Concatenates the invocation lists of an array of delegates.

public:
 static Delegate ^ Combine(cli::array <Delegate ^> ^ delegates);
[System.Runtime.InteropServices.ComVisible(true)]
public static Delegate Combine (Delegate[] delegates);
static member Combine : Delegate[] -> Delegate
Public Shared Function Combine (delegates As Delegate()) As Delegate

Parametri

delegates
Delegate[]

Matrice di delegati da combinare.The array of delegates to combine.

Restituisce

Nuovo delegato con un elenco chiamate in cui vengono concatenati gli elenchi chiamate dei delegati nella matrice delegates.A new delegate with an invocation list that concatenates the invocation lists of the delegates in the delegates array. Restituisce null se delegates è null, se delegates contiene zero elementi o se ogni voce in delegates è null.Returns null if delegates is null, if delegates contains zero elements, or if every entry in delegates is null.

Attributi

Eccezioni

Non tutte le voci non null in delegates sono istanze dello stesso tipo di delegato.Not all the non-null entries in delegates are instances of the same delegate type.

Commenti

Se la delegates matrice contiene voci null, tali voci verranno ignorate.If the delegates array contains entries that are null, those entries are ignored.

L'elenco chiamate può contenere voci duplicate. ovvero le voci che fanno riferimento allo stesso metodo sullo stesso oggetto.The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.

Nota

Delegati generici che sono compatibili con l'assegnazione perché la varianza non è necessariamente combinabile.Generic delegates that are assignment-compatible because of variance are not necessarily combinable. Per essere combinabili, i tipi devono corrispondere esattamente.To be combinable, the types must match exactly. Si supponga, ad esempio, che una Derived classe denominata derivi da una classe Basedenominata.For example, suppose that a class named Derived is derived from a class named 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 controvarianza, ma i due delegati non possono essere combinati perché i tipi non corrispondono esattamente.A delegate of type Action<Base> (Action(Of Base) in Visual Basic) can be assigned to a variable of type Action<Derived>, as explained in Covariance and Contravariance, but the two delegates cannot be combined because the types do not match exactly.

Combineè utile per la creazione di gestori eventi che chiamano più metodi ogni volta che si verifica un evento.Combine is useful for creating event handlers that call multiple methods each time an event occurs.

Sicurezza

ReflectionPermission
Quando viene richiamato ad associazione tardiva tramite InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])meccanismi come.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Enumerazione associata:MemberAccessAssociated enumeration: MemberAccess

Vedi anche

Combine(Delegate, Delegate)

Esegue la concatenazione degli elenchi chiamate di due delegati.Concatenates the invocation lists of two delegates.

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 considerato per primo.The delegate whose invocation list comes first.

b
Delegate

Delegato il cui elenco chiamate viene considerato per ultimo.The delegate whose invocation list comes last.

Restituisce

Nuovo delegato con un elenco chiamate in cui vengono concatenati gli elenchi chiamate di a e b (in quell'ordine).A new delegate with an invocation list that concatenates the invocation lists of a and b in that order. Restituisce a se b è null, restituisce b se a è un riferimento Null e restituisce un riferimento Null se a e b sono entrambi riferimenti Null.Returns a if b is null, returns b if a is a null reference, and returns a null reference if both a and b are null references.

Eccezioni

a e b sono null e né ab sono istanze dello stesso tipo delegato.Both a and b are not null, and a and b are not instances of the same delegate type.

Commenti

L'elenco chiamate può contenere voci duplicate. ovvero le voci che fanno riferimento allo stesso metodo sullo stesso oggetto.The invocation list can contain duplicate entries; that is, entries that refer to the same method on the same object.

Nota

Delegati generici che sono compatibili con l'assegnazione perché la varianza non è necessariamente combinabile.Generic delegates that are assignment-compatible because of variance are not necessarily combinable. Per essere combinabili, i tipi devono corrispondere esattamente.To be combinable, the types must match exactly. Si supponga, ad esempio, che una Derived classe denominata derivi da una classe Basedenominata.For example, suppose that a class named Derived is derived from a class named 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 controvarianza, ma i due delegati non possono essere combinati perché i tipi non corrispondono esattamente.A delegate of type Action<Base> (Action(Of Base) in Visual Basic) can be assigned to a variable of type Action<Derived>, as explained in Covariance and Contravariance, but the two delegates cannot be combined because the types do not match exactly.

Combineè utile per la creazione di gestori eventi che chiamano più metodi ogni volta che si verifica un evento.Combine is useful for creating event handlers that call multiple methods each time an event occurs.

Sicurezza

ReflectionPermission
Quando viene richiamato ad associazione tardiva tramite InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[])meccanismi come.when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Enumerazione associata:MemberAccessAssociated enumeration: MemberAccess

Vedi anche

Si applica a