Baca dalam bahasa Inggris

Bagikan melalui


Peringatan kompilator (tingkat 3) CS0661

'kelas' mendefinisikan operator == or operator != tetapi tidak mengambil alih Object.GetHashCode()

Kompilator mendeteksi operator kesetaraan atau ketidaksetaraan yang ditentukan pengguna, tetapi tidak ada pengambilan alih untuk fungsi GetHashCode. Operator kesetaraan atau ketidaksetaraan yang ditentukan pengguna menyiratkan bahwa Anda juga ingin mengambil alih fungsi GetHashCode.

Contoh berikut menghasilkan CS0661:

// CS0661.cs  
// compile with: /W:3  
class Test   // CS0661  
{  
   public static bool operator == (object o, Test t)  
   {  
      return true;  
   }  
  
   public static bool operator != (object o, Test t)  
   {  
      return true;  
   }  
  
   public override bool Equals(object o)  
   {  
      return true;  
   }  
  
   // uncomment the GetHashCode function to resolve  
   // public override int GetHashCode()  
   // {  
   //    return 0;  
   // }  
  
   public static void Main()  
   {  
   }  
}