Assuming both objects are not value types and both represent types which have overridden the Equals(...) method, is there any functional difference between:
- Calling
obj1.Equals(obj2)
- Calling
Object.Equals(obj1, obj2)
...or are they functionally the same?
The Apress book I'm reading (Pro C# 2008), which is actually quite good, refers to this method (as well as ReferenceEquals(...)
) as "(very helpful) static methods", but I'm struggling to see the benefit here.
For ReferenceEquals(...)
I can see the utility, as it is still capable of determining if two objects reference the same object (regardless of whether the Equals(...)
method and and the ==
operator have been overridden).
For the other...not so much; Am I just missing something here?