description | title | ms.date | f1_keywords | helpviewer_keywords | ms.assetid | ||
---|---|---|---|---|---|---|---|
Compiler Warning (level 3) CS0659 |
Compiler Warning (level 3) CS0659 |
09/05/2018 |
|
|
63435ee6-c92f-4124-95d4-d8f4e5f0af80 |
'class' overrides Object.Equals(object o) but does not override Object.GetHashCode()
The compiler detected an override of the xref:System.Object.Equals%2A?displayProperty=nameWithType method but no override of the xref:System.Object.GetHashCode%2A?displayProperty=nameWithType method. An override of xref:System.Object.Equals%2A implies that you also want to override xref:System.Object.GetHashCode%2A.
The following code 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; }
}
- xref:System.Object.Equals%2A?displayProperty=nameWithType
- xref:System.Object.GetHashCode%2A?displayProperty=nameWithType
- Equality Operators
- Implementing the Equals Method