Delegate.Combine Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Łączy listy wywołań określonych delegatów multiemisji (połączonych).
Przeciążenia
Combine(Delegate[]) |
Łączy listy wywołań tablicy delegatów. |
Combine(ReadOnlySpan<Delegate>) | |
Combine(Delegate, Delegate) |
Łączy listy wywołań dwóch delegatów. |
Combine(Delegate[])
- Źródło:
- Delegate.cs
- Źródło:
- Delegate.cs
- Źródło:
- Delegate.cs
Łączy listy wywołań tablicy delegatów.
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[]
Tablica delegatów do połączenia.
Zwraca
Nowy delegat z listą wywołań, która łączy listy wywołań delegatów w tablicy delegates
. Zwraca wartość null
, jeśli delegates
null
element ma wartość , jeśli delegates
zawiera zero elementów lub jeśli każdy wpis w delegates
obiekcie to null
.
- Atrybuty
Wyjątki
Nie wszystkie wpisy inne niż null w programie delegates
to wystąpienia tego samego typu delegata.
Uwagi
Jeśli tablica delegates
zawiera wpisy, które są null
, te wpisy są ignorowane.
Lista wywołań może zawierać zduplikowane wpisy; oznacza to, że wpisy odwołujące się do tej samej metody w tym samym obiekcie.
Uwaga
Delegaty ogólne, które są zgodne z przypisaniem ze względu na wariancję, nie muszą być połączone. Aby można je było połączyć, typy muszą być dokładnie zgodne. Załóżmy na przykład, że klasa o nazwie Derived
pochodzi z klasy o nazwie Base
. Delegat typu Action<Base>
(Action(Of Base)
w Visual Basic) można przypisać do zmiennej typu Action<Derived>
, jak wyjaśniono w kowariancji i kontrawariancji, ale nie można połączyć dwóch delegatów, ponieważ typy nie są dokładnie zgodne.
Combine jest przydatny do tworzenia programów obsługi zdarzeń, które są wywoływane wiele metod za każdym razem, gdy wystąpi zdarzenie.
Zobacz też
Dotyczy
Combine(ReadOnlySpan<Delegate>)
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>
Zwraca
Dotyczy
Combine(Delegate, Delegate)
- Źródło:
- Delegate.cs
- Źródło:
- Delegate.cs
- Źródło:
- Delegate.cs
Łączy listy wywołań dwóch delegatów.
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
Delegat, którego lista wywołań jest pierwsza.
- b
- Delegate
Delegat, którego lista wywołań jest ostatnia.
Zwraca
Nowy delegat z listą wywołań, która łączy listy a
wywołań i b
w tej kolejności. Zwraca wartość a
if null
b
, zwraca wartość b
, jeśli a
jest odwołaniem o wartości null, i zwraca odwołanie o wartości null, jeśli oba a
odwołania i b
są odwołaniami o wartości null.
Wyjątki
Zarówno a
, jak i b
nie null
, i b
a
nie są wystąpieniami tego samego typu delegata.
Uwagi
Lista wywołań może zawierać zduplikowane wpisy; oznacza to, że wpisy odwołujące się do tej samej metody w tym samym obiekcie.
Uwaga
Delegaty ogólne, które są zgodne z przypisaniem ze względu na wariancję, nie muszą być połączone. Aby można je było połączyć, typy muszą być dokładnie zgodne. Załóżmy na przykład, że klasa o nazwie Derived
pochodzi z klasy o nazwie Base
. Delegat typu Action<Base>
(Action(Of Base)
w Visual Basic) można przypisać do zmiennej typu Action<Derived>
, jak wyjaśniono w kowariancji i kontrawariancji, ale nie można połączyć dwóch delegatów, ponieważ typy nie są dokładnie zgodne.
Combine jest przydatny do tworzenia programów obsługi zdarzeń, które są wywoływane wiele metod za każdym razem, gdy wystąpi zdarzenie.
Zobacz też
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla