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()
{
}
}
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: