Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
’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; }
}