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í
| 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.