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 vyvolání zadaných delegátů vícesměrového vysílání (kombinovatelné).
Přetížení
| 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
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 poli delegates. Vrátí null pokud je nulldelegates , 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 v delegates jsou instance stejného typu delegáta.
Poznámky
Pokud pole delegates obsahuje položky, které jsou null, budou tyto položky ignorovány.
Seznam vyvolání může obsahovat duplicitní položky; to znamená položky, které odkazují na stejnou metodu na stejném objektu.
Poznámka
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 třída s názvem Derived je odvozena z třídy s názvem Base. Delegát typu Action<Base> (Action(Of Base) v jazyce Visual Basic) lze přiřadit proměnné typu Action<Derived>, jak je vysvětleno v Kovariance a Kontravariance, ale tyto dva delegáty nelze kombinovat, protože typy přesně neodpovídají.
Combine je užitečné pro 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
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 delegates rozsahu.
Vrátí null pokud je nulldelegates , 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
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 vyvolání a a b v daném pořadí. Vrátí a pokud je bnull, vrátí b pokud a je odkaz null, a vrátí nulový odkaz, pokud a i b jsou odkazy null.
Výjimky
a i b nejsou nulla a a b 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.
Poznámka
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 třída s názvem Derived je odvozena z třídy s názvem Base. Delegát typu Action<Base> (Action(Of Base) v jazyce Visual Basic) lze přiřadit proměnné typu Action<Derived>, jak je vysvětleno v Kovariance a Kontravariance, ale tyto dva delegáty nelze kombinovat, protože typy přesně neodpovídají.
Combine je užitečné pro vytváření obslužných rutin událostí, které při každém výskytu události volají více metod.