This documentation is archived and is not being maintained.

Delegate.RemoveImpl Method

Removes the invocation list of a delegate from the invocation list of another delegate.

[Visual Basic]
Protected Overridable Function RemoveImpl( _
   ByVal d As Delegate _
) As Delegate
[C#]
protected virtual Delegate RemoveImpl(
 Delegate d
);
[C++]
protected: virtual Delegate* RemoveImpl(
 Delegate* d
);
[JScript]
protected function RemoveImpl(
   d : Delegate
) : Delegate;

Parameters

d
The delegate that supplies the invocation list to remove from the invocation list of the current delegate.

Return Value

A new delegate with an invocation list formed by taking the invocation list of the current delegate and removing the invocation list of value, if the invocation list of value is found within the current delegate's invocation list.

-or-

The current delegate, if value is a null reference (Nothing in Visual Basic), or if the invocation list of value is not found within the current delegate's invocation list.

-or-

A null reference (Nothing), if the invocation list of value is equal to the current delegate's invocation list.

Exceptions

Exception Type Condition
MemberAccessException 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.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

.NET Framework Security: 

See Also

Delegate Class | Delegate Members | System Namespace | Remove | Equals

Show: