Aracılığıyla paylaş


Delegate.Combine Yöntem

Tanım

Belirtilen çok noktaya yayın (birleştirilebilir) temsilcilerinin çağrı listelerini birleştirir.

Aşırı Yüklemeler

Combine(Delegate[])

Bir temsilci dizisinin çağrı listelerini birleştirir.

Combine(ReadOnlySpan<Delegate>)

Bir temsilci aralığının çağrı listelerini birleştirir.

Combine(Delegate, Delegate)

İki temsilcinin çağrı listelerini birleştirir.

Combine(Delegate[])

Kaynak:
Delegate.cs
Kaynak:
Delegate.cs
Kaynak:
Delegate.cs

Bir temsilci dizisinin çağrı listelerini birleştirir.

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

Parametreler

delegates
Delegate[]

Birleştirecek temsilci dizisi.

Döndürülenler

delegates dizisindeki temsilcilerin çağrı listelerini birleştirir çağrı listesi olan yeni bir temsilci. delegates nullise, delegates sıfır öğe içeriyorsa veya delegates içindeki her giriş nullise null döndürür.

Öznitelikler

Özel durumlar

delegates içindeki null olmayan girişlerin tümü aynı temsilci türündeki örnekler değildir.

Açıklamalar

delegates dizisi nullgirdiler içeriyorsa, bu girdiler yoksayılır.

Çağırma listesi yinelenen girdiler içerebilir; diğer bir ifadeyle, aynı nesnede aynı yönteme başvuran girişler.

Not

Varyans nedeniyle atamayla uyumlu olan genel temsilciler her zaman birleştirilebilir değildir. Birleştirilebilir olması için türlerin tam olarak eşleşmesi gerekir. Örneğin, Derived adlı bir sınıfın Baseadlı bir sınıftan türetildiğini varsayalım. Action<Base> türündeki bir temsilci (Visual Basic'teAction(Of Base)) Kovaryans ve Kontravaryans'nde açıklandığı gibi Action<Derived>türünde bir değişkene atanabilir, ancak türler tam olarak eşleşmediğinden iki temsilci birleştirilemez.

Combine, her olay oluştuğunda birden çok yöntemi çağıran olay işleyicileri oluşturmak için yararlıdır.

Ayrıca bkz.

Şunlara uygulanır

Combine(ReadOnlySpan<Delegate>)

Bir temsilci aralığının çağrı listelerini birleştirir.

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

Parametreler

delegates
ReadOnlySpan<Delegate>

Birleştirecek temsilcilerin yayılma alanı.

Döndürülenler

delegates yayılma alanında temsilcilerin çağrı listelerini birleştirir bir çağrı listesi ile yeni bir temsilci. delegates nullise, delegates sıfır öğe içeriyorsa veya delegates içindeki her giriş nullise null döndürür.

Şunlara uygulanır

Combine(Delegate, Delegate)

Kaynak:
Delegate.cs
Kaynak:
Delegate.cs
Kaynak:
Delegate.cs

İki temsilcinin çağrı listelerini birleştirir.

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

Parametreler

a
Delegate

Çağırma listesi önce gelen temsilci.

b
Delegate

Çağrı listesi en son gelen temsilci.

Döndürülenler

a ve b çağrı listelerini bu sırada birleştirir bir çağrı listesi olan yeni bir temsilci. b nullise a döndürür, a null başvuruysa b döndürür ve hem a hem de b null başvuru ise null başvuru döndürür.

Özel durumlar

hem a hem de bnulldeğildir ve a ve b aynı temsilci türünün örnekleri değildir.

Açıklamalar

Çağırma listesi yinelenen girdiler içerebilir; diğer bir ifadeyle, aynı nesnede aynı yönteme başvuran girişler.

Not

Varyans nedeniyle atamayla uyumlu olan genel temsilciler her zaman birleştirilebilir değildir. Birleştirilebilir olması için türlerin tam olarak eşleşmesi gerekir. Örneğin, Derived adlı bir sınıfın Baseadlı bir sınıftan türetildiğini varsayalım. Action<Base> türündeki bir temsilci (Visual Basic'teAction(Of Base)) Kovaryans ve Kontravaryans'nde açıklandığı gibi Action<Derived>türünde bir değişkene atanabilir, ancak türler tam olarak eşleşmediğinden iki temsilci birleştirilemez.

Combine, her olay oluştuğunda birden çok yöntemi çağıran olay işleyicileri oluşturmak için yararlıdır.

Ayrıca bkz.

Şunlara uygulanır