Delegate.RemoveImpl(Delegate) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Removes the invocation list of a delegate from the invocation list of another delegate.
protected:
virtual Delegate ^ RemoveImpl(Delegate ^ d);
protected virtual Delegate? RemoveImpl (Delegate d);
protected virtual Delegate RemoveImpl (Delegate d);
abstract member RemoveImpl : Delegate -> Delegate
override this.RemoveImpl : Delegate -> Delegate
Protected Overridable Function RemoveImpl (d As Delegate) As Delegate
Parameters
- d
- Delegate
The delegate that supplies the invocation list to remove from the invocation list of the current delegate.
Returns
A new delegate with an invocation list formed by taking the invocation list of the current delegate and removing the invocation list of d
, if the invocation list of d
is found within the current delegate's invocation list. Returns the current delegate if d
is null
or if the invocation list of d
is not found within the current delegate's invocation list. Returns null
if the invocation list of d
is equal to the current delegate's invocation list.
Exceptions
The caller does not have access to the method represented by the delegate (for example, if the method is private).
Remarks
If the invocation list of value
matches a contiguous set of elements in the current delegate's invocation list, then the invocation list of value
is said to occur within the current delegate's invocation list. If the invocation list of value
occurs more than once in the current delegate's invocation list, the last occurrence is removed.