Delegate.RemoveAll(Delegate, Delegate) 方法

定义

从一个委托的调用列表中移除另一个委托的所有调用列表。

public:
 static Delegate ^ RemoveAll(Delegate ^ source, Delegate ^ value);
public static Delegate RemoveAll (Delegate source, Delegate value);
public static Delegate? RemoveAll (Delegate? source, Delegate? value);
static member RemoveAll : Delegate * Delegate -> Delegate
Public Shared Function RemoveAll (source As Delegate, value As Delegate) As Delegate

参数

source
Delegate

委托,将从中移除 value 的调用列表。

value
Delegate

委托,它提供将从其中移除 source 的调用列表的调用列表。

返回

一个新委托,其调用列表的构成方法为:获取 source 的调用列表,如果在 value 的调用列表中找到了 value 的调用列表,则从中移除 source 的所有调用列表。 如果 sourcenull,或在 value 的调用列表中没有找到 value 的调用列表,则返回 source。 如果 value 的调用列表等于 source 的调用列表,如果 source 只包含等于 value 的调用列表的一系列调用列表,或者如果 source 为空引用,则返回空引用。

例外

委托类型不匹配。

调用方不能访问由委托表示的方法(例如,在方法为私有方法的情况下)。

注解

如果 的 value 调用列表与 的调用列表中的 source一组连续的元素匹配,则 的调用列表 value 据说出现在 的 source调用列表中。 如果 的调用列表 value 在 的调用列表中 source多次出现,则删除所有匹配项。

适用于

另请参阅