Delegate.Combine 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
连接指定多播(可组合)委托的调用列表。
重载
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
数组中委托的调用列表。 如果 null
delegates
,则返回 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
范围中委托的调用列表。
如果 null
delegates
,则返回 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
调用列表最后一次的委托。
返回
一个新委托,其中包含一个调用列表,该列表连接 a
和 b
的调用列表。 如果 b
null
,则返回 a
;如果 a
为 null 引用,则返回 b
;如果 a
和 b
均为 null 引用,则返回 null 引用。
例外
a
和 b
都不 null
,a
和 b
不是同一委托类型的实例。
注解
调用列表可以包含重复的条目;也就是说,引用同一对象上相同方法的条目。
注意
由于方差而与分配兼容的泛型委托不一定是可组合的。 若要组合,类型必须完全匹配。 例如,假设名为 Derived
的类派生自名为 Base
的类。
协变和逆变中所述,可以将类型 Action<Base>
(visual Basic 中的Action(Of Base)
)的委托分配给类型 Action<Derived>
变量,但无法组合这两个委托,因为类型不匹配。
Combine 可用于创建每次发生事件时调用多个方法的事件处理程序。