Delegate.Remove(Delegate, Delegate) 方法

定义

从一个委托的调用列表中移除另一个委托的最后一个调用列表。

public:
 static Delegate ^ Remove(Delegate ^ source, Delegate ^ value);
public static Delegate Remove (Delegate source, Delegate value);
public static Delegate? Remove (Delegate? source, Delegate? value);
static member Remove : Delegate * Delegate -> Delegate
Public Shared Function Remove (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多次出现,则删除最后一个匹配项。

适用于

另请参阅