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
数组中的委托的调用列表串联在一起。 如果 delegates
为 null
,delegates
包含零个元素,或 delegates
中的每个条目均为 null
,则返回 null
。
- 属性
例外
不是所有 delegates
中的非 null 项都是同一委托类型的实例。
注解
delegates
如果数组包含的条目为 null
,则忽略这些条目。
调用列表可以包含重复条目;即引用同一对象上相同方法的条目。
注意
由于方差而与赋值兼容的泛型委托不一定是可组合的。 为了可组合,这些类型必须完全匹配。 例如,假设名为 的 Derived
类派生自名为 的 Base
类。 Visual Basic) 中 (Action(Of Base)
类型的Action<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>
返回
适用于
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
类。 Visual Basic) 中 (Action(Of Base)
类型的Action<Base>
委托可以分配给 类型的Action<Derived>
变量,如协变和逆变中所述,但无法组合这两个委托,因为这些类型不匹配。
Combine 可用于创建每次事件发生时调用多个方法的事件处理程序。
另请参阅
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈