Compiler Warning (level 3) CS0659
'class' overrides Object.Equals(object o) but does not override Object.GetHashCode()
The compiler detected an override of the Object.Equals method but no override of the Object.GetHashCode method. An override of Equals implies that you also want to override GetHashCode.
The following code generates CS0659:
C#
// 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; }
}
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
.NET feedback
.NET is an open source project. Select a link to provide feedback: