Bagikan melalui


Peringatan Kompilator (tingkat 3) CS0660

'class' mendefinisikan operator == atau operator != tetapi tidak mengganti Object.Equals(object o)

Kompilator mendeteksi operator kesetaraan atau ketidaksetaraan yang ditentukan pengguna, tetapi tidak ada penggantian untuk metode Object.Equals. Operator kesetaraan atau ketidaksetaraan yang ditentukan pengguna menyiratkan bahwa Anda juga ingin mengganti metode Equals. Untuk informasi selengkapnya, lihat Cara mendefinisikan kesetaraan nilai untuk jenis.

Contoh berikut menghasilkan 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()  
   {  
   }  
}