Delegate.RemoveAll(Delegate, 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 all occurrences of the invocation list of a delegate from the invocation list of another 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
Parameters
- source
- Delegate
The delegate from which to remove the invocation list of value
.
- value
- Delegate
The delegate that supplies the invocation list to remove from the invocation list of source
.
Returns
A new delegate with an invocation list formed by taking the invocation list of source
and removing all occurrences of the invocation list of value
, if the invocation list of value
is found within the invocation list of source
. Returns source
if value
is null
or if the invocation list of value
is not found within the invocation list of source
. Returns a null reference if the invocation list of value
is equal to the invocation list of source
, if source
contains only a series of invocation lists that are equal to the invocation list of value
, or if source
is a null reference.
Exceptions
The delegate types do not match.
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 invocation list of source
, then the invocation list of value
is said to occur within the invocation list of source
. If the invocation list of value
occurs more than once in the invocation list of source
, all occurrences are removed.