Delegate.Equals(Object) Delegate.Equals(Object) Delegate.Equals(Object) 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);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean
Parameters
obj
Object Object Object 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.

Important

In the .NET Framework version 1.0 and 1.1, two delegates were considered equal if their targets, methods, and invocation list were equal, even if the delegates were of different types.

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.

Security

ReflectionPermission
when invoked late-bound through mechanisms such as InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). Associated enumeration: MemberAccess

Applies to

See Also