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()
{
}
}
Berkolaborasi dengan kami di GitHub
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk