Delegate.Combine Metoda

Definice

Zřetězí seznamy vyvolání zadaných delegátů vícesměrového vysílání (kombinovatelné).

Přetížení

Name Description
Combine(Delegate[])

Zřetězí seznamy vyvolání pole delegátů.

Combine(ReadOnlySpan<Delegate>)

Zřetězí seznamy vyvolání rozsahu delegátů.

Combine(Delegate, Delegate)

Zřetězí seznamy vyvolání dvou delegátů.

Combine(Delegate[])

Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs

Zřetězí seznamy vyvolání pole delegátů.

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

Parametry

delegates
Delegate[]

Pole delegátů ke kombinování

Návraty

Nový delegát se seznamem vyvolání, který zřetězí seznamy vyvolání delegátů v delegates poli. Vrátí null , pokud delegates je null, pokud delegates obsahuje nula prvků, nebo pokud je každá položka v delegatesnull.

Atributy

Výjimky

Ne všechny položky, které nejsou null, delegates jsou instance stejného typu delegáta.

Poznámky

Pokud pole delegates obsahuje položky, které jsou null, tyto položky budou ignorovány.

Seznam vyvolání může obsahovat duplicitní položky; to znamená položky, které odkazují na stejnou metodu na stejném objektu.

Note

Obecné delegáty, které jsou kompatibilní s přiřazením kvůli rozptylu, nemusí být nutně kombinovány. Aby bylo možné kombinovat, musí se typy přesně shodovat. Předpokládejme například, že pojmenovaná Derived třída je odvozena od třídy s názvem Base. Delegát typu Action<Base> (Action(Of Base) v Visual Basic) lze přiřadit proměnné typu Action<Derived>, jak je vysvětleno v Covariance a Contravariance, ale dva delegáti se nedají kombinovat, protože typy přesně neodpovídají.

Combine je užitečné při vytváření obslužných rutin událostí, které při každém výskytu události volají více metod.

Viz také

Platí pro

Combine(ReadOnlySpan<Delegate>)

Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs

Zřetězí seznamy vyvolání rozsahu delegátů.

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

Parametry

delegates
ReadOnlySpan<Delegate>

Rozsah delegátů, kteří se mají kombinovat.

Návraty

Nový delegát se seznamem vyvolání, který zřetězí seznamy vyvolání delegátů v rozsahu delegates . Vrátí null , pokud delegates je null, pokud delegates obsahuje nula prvků, nebo pokud je každá položka v delegatesnull.

Platí pro

Combine(Delegate, Delegate)

Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs
Zdroj:
Delegate.cs

Zřetězí seznamy vyvolání dvou delegátů.

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

Parametry

a
Delegate

Delegát, jehož seznam vyvolání je první.

b
Delegate

Delegát, jehož seznam vyvolání je poslední.

Návraty

Nový delegát se seznamem vyvolání, který zřetězí seznamy a vyvolání a b v daném pořadí. Vrátí a , pokud b je null, vrátí b , pokud a je null odkaz, a vrátí nulový odkaz, pokud oba a a b jsou null odkazy.

Výjimky

Oba a a nejsou ba nullab nejsou instance stejného typu delegáta.

Poznámky

Seznam vyvolání může obsahovat duplicitní položky; to znamená položky, které odkazují na stejnou metodu na stejném objektu.

Note

Obecné delegáty, které jsou kompatibilní s přiřazením kvůli rozptylu, nemusí být nutně kombinovány. Aby bylo možné kombinovat, musí se typy přesně shodovat. Předpokládejme například, že pojmenovaná Derived třída je odvozena od třídy s názvem Base. Delegát typu Action<Base> (Action(Of Base) v Visual Basic) lze přiřadit proměnné typu Action<Derived>, jak je vysvětleno v Covariance a Contravariance, ale dva delegáti se nedají kombinovat, protože typy přesně neodpovídají.

Combine je užitečné při vytváření obslužných rutin událostí, které při každém výskytu události volají více metod.

Viz také

Platí pro