Avertissement du compilateur (niveau 3) CS0659

’classe’ se substitue à Object.Equals(object o) mais pas à Object.GetHashCode()

Le compilateur a détecté un remplacement de la méthode Object.Equals, mais aucune substitution de la méthode Object.GetHashCode. Le remplacement de Equals implique que vous souhaitez également remplacer GetHashCode.

Le code suivant génère l’erreur 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; }  
}  

Voir aussi