Delegate.Combine Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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
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.