Compiler Warning (level 3) CS0659
'class' overrides Object.Equals(object o) but does not override Object.GetHashCode()
The compiler detected an override of the Equals function but no override for GetHashCode. An override of Equals implies that you also want to override GetHashCode.
For more information, see
The following sample generates CS0659:
// CS0659.cs
// compile with: /W:3 /target:library
class Test
{
public override bool Equals(object o) { return true; } // CS0659
}
// OK
class Test2
{
public override bool Equals(object o) { return true; }
public override int GetHashCode() { return 0; }
}