Delegate.Equals(Object) Method

Definition

Determines whether the specified object and the current delegate are of the same type and share the same targets, methods, and invocation list.

public:
 override bool Equals(System::Object ^ obj);
public override bool Equals (object obj);
public override bool Equals (object? obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean

Parameters

obj
Object

The object to compare with the current delegate.

Returns

true if obj and the current delegate have the same targets, methods, and invocation list; otherwise, false.

Exceptions

The caller does not have access to the method represented by the delegate (for example, if the method is private).

Remarks

If the two delegates are not of the same type, they are not considered equal.

The methods and targets are compared for equality as follows:

  • If the two methods being compared are both static and are the same method on the same class, the methods are considered equal and the targets are also considered equal.

  • If the two methods being compared are instance methods and are the same method on the same object, the methods are considered equal and the targets are also considered equal.

  • Otherwise, the methods are not considered to be equal and the targets are also not considered to be equal.

Two invocation lists are considered identical only if they have the same order and the corresponding elements from the two lists represent the same method and target.

Applies to

See also