Číst v angličtině

Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 3) CS0660

'class' definuje operátor == nebo operátor != , ale nepřepíše Object.Equals(object o)

Kompilátor zjistil uživatelem definovaný operátor rovnosti nebo nerovnosti, ale pro metodu Object.Equals nebyl přepsán. Uživatelem definovaný operátor rovnosti nebo nerovnosti znamená, že chcete také přepsat metodu Equals . Další informace naleznete v tématu Definování rovnosti hodnot pro typ.

Následující ukázka vygeneruje 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()  
   {  
   }  
}