Delegate.Combine Metoda

Definice

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

Přetížení

Combine(Delegate[])

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

Combine(Delegate, Delegate)

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

Combine(Delegate[])

Zřetězí seznamy volá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ů, které chcete kombinovat.

Návraty

Delegate

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

Atributy

Výjimky

Ne všechny nenulové položky v jsou delegates instancemi stejného typu delegátu.

Poznámky

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

Seznam volání může obsahovat duplicitní položky. To znamená, že položky, které odkazují na stejnou metodu u stejného objektu.

Poznámka

Obecné delegáty, které jsou z důvodu odchylky kompatibilní s přiřazením, nemusí být nutně kombinovatelné. Aby bylo možné kombinovat, musí se typy přesně shodovat. Předpokládejme například, že třída s názvem Derived je odvozená z třídy s názvem Base . Delegát typu ( v Visual Basic) lze přiřadit proměnné typu , jak je vysvětleno v části Action<Base> Action(Of Base) Action<Derived> Kovariance a Kontravariance, ale tyto dva delegáty nelze kombinovat, protože typy přesně neodpovídají.

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

Viz také

Platí pro

Combine(Delegate, Delegate)

Zřetězí seznamy volá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 volání je na prvním místě.

b
Delegate

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

Návraty

Delegate

Nový delegát se seznamem volání, který zřetězí seznamy vyvolání a a b v tomto pořadí. Vrátí, pokud je , vrátí , pokud je odkazem s hodnotou null, a vrátí nulový odkaz, pokud obě a a b jsou odkazy s null b a a b hodnotou null.

Výjimky

I a b nejsou null , a a a nejsou b instancemi stejného typu delegátu.

Poznámky

Seznam volání může obsahovat duplicitní položky. To znamená, že položky, které odkazují na stejnou metodu u stejného objektu.

Poznámka

Obecné delegáty, které jsou z důvodu odchylky kompatibilní s přiřazením, nemusí být nutně kombinovatelné. Aby bylo možné kombinovat, musí se typy přesně shodovat. Předpokládejme například, že třída s názvem Derived je odvozená z třídy s názvem Base . Delegát typu ( v Visual Basic) lze přiřadit proměnné typu , jak je vysvětleno v části Action<Base> Action(Of Base) Action<Derived> Kovariance a Kontravariance, ale tyto dva delegáty nelze kombinovat, protože typy přesně neodpovídají.

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

Viz také

Platí pro