Delegate.Combine 方法

定义

连接指定多播(可组合)委托的调用列表。

重载

Combine(Delegate[])

连接委托数组的调用列表。

Combine(ReadOnlySpan<Delegate>)

连接委托范围的调用列表。

Combine(Delegate, Delegate)

连接两个委托的调用列表。

Combine(Delegate[])

Source:
Delegate.cs
Source:
Delegate.cs
Source:
Delegate.cs

连接委托数组的调用列表。

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

参数

delegates
Delegate[]

要组合的委托数组。

返回

一个新委托,其中包含一个调用列表,该列表连接 delegates 数组中委托的调用列表。 如果 nulldelegates,则返回 null;如果 delegates 包含零个元素,或者 delegates 中的每个条目 null

属性

例外

并不是 delegates 中的所有非 null 条目都是同一委托类型的实例。

注解

如果 delegates 数组包含 null的条目,则忽略这些条目。

调用列表可以包含重复的条目;也就是说,引用同一对象上相同方法的条目。

注意

由于方差而与分配兼容的泛型委托不一定是可组合的。 若要组合,类型必须完全匹配。 例如,假设名为 Derived 的类派生自名为 Base的类。 协变和逆变中所述,可以将类型 Action<Base>(visual Basic 中的Action(Of Base))的委托分配给类型 Action<Derived>变量,但无法组合这两个委托,因为类型不匹配。

Combine 可用于创建每次发生事件时调用多个方法的事件处理程序。

另请参阅

适用于

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

参数

delegates
ReadOnlySpan<Delegate>

要组合的委托范围。

返回

一个新委托,其中包含一个调用列表,该列表连接 delegates 范围中委托的调用列表。 如果 nulldelegates,则返回 null;如果 delegates 包含零个元素,或者 delegates 中的每个条目 null

适用于

Combine(Delegate, Delegate)

Source:
Delegate.cs
Source:
Delegate.cs
Source:
Delegate.cs

连接两个委托的调用列表。

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

参数

a
Delegate

调用列表排在第一位的委托。

b
Delegate

调用列表最后一次的委托。

返回

一个新委托,其中包含一个调用列表,该列表连接 ab 的调用列表。 如果 bnull,则返回 a;如果 a 为 null 引用,则返回 b;如果 ab 均为 null 引用,则返回 null 引用。

例外

ab 都不 nullab 不是同一委托类型的实例。

注解

调用列表可以包含重复的条目;也就是说,引用同一对象上相同方法的条目。

注意

由于方差而与分配兼容的泛型委托不一定是可组合的。 若要组合,类型必须完全匹配。 例如,假设名为 Derived 的类派生自名为 Base的类。 协变和逆变中所述,可以将类型 Action<Base>(visual Basic 中的Action(Of Base))的委托分配给类型 Action<Derived>变量,但无法组合这两个委托,因为类型不匹配。

Combine 可用于创建每次发生事件时调用多个方法的事件处理程序。

另请参阅

适用于