Partager via


Avertissement du compilateur (niveau 3) CS0660

Mise à jour : novembre 2007

Message d'erreur

'classe' définit l'opérateur == ou l'opérateur !=, mais ne se substitue pas à Object.Equals(object o)
'class' defines operator == or operator != but does not override Object.Equals(object o)

Le compilateur a détecté l'opérateur d'égalité ou d'inégalité défini par l'utilisateur, mais pas de substitution pour la fonction Equals. Un opérateur d'égalité ou d'inégalité défini par l'utilisateur implique que vous souhaitez également substituer la fonction Equals.

L'exemple suivant génère l'avertissement CS0660 :

// CS0660.cs
// compile with: /W:3 /warnaserror
class Test   // CS0660
{
   public static bool operator == (object o, Test t)
   {
      return true;
   }

   // uncomment the Equals function to resolve
   // public override bool Equals(object o)
   // {
   //    return true;
   // }

   public override int GetHashCode()
   {
      return 0;
   }

   public static void Main()
   {
   }
}