Compartir vía


Advertencia del compilador (nivel 3) CS0660

'clase' define el operador == o el operador !=, pero no invalida Object.Equals(object o)

El compilador detectó la igualdad definida por el usuario o el operador de desigualdad, pero ningún reemplazo para el método Object.Equals. Un operador de igualdad o desigualdad definido por el usuario implica que también desea reemplazar el método Equals. Para obtener más información, consulte Definición de la igualdad de valores para un tipo.

El ejemplo siguiente genera la advertencia 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()  
   {  
   }  
}