Why overriding == must override equals?
.net, c#
Solution
If you are re-defining equality via `==`, it gets really confusing if `==` does something very different to `.Equals`, and `.Equals` has to be the fallback because when the type is not known at compile time, only `.Equals` is available. As a consequence, defining `==` really means: defining `==`, `!=`, `Equals` and `GetHashCode`, and possibly implementing `IEquatable<T>` for some `T`.
Problem
Possible Duplicate: Is it necessary to override == and != operators when overriding the Equals method? (.NET) C# compiler prompts me that I should override equals if overriding ==, I just want to know why?