Avertissement du compilateur (niveau 3) CS0660
'class' définit l’opérateur == ou l’opérateur != mais ne se substitue pas à Object.Equals(object o)
Le compilateur a détecté l’opérateur d’égalité ou d’inégalité défini par l’utilisateur, mais n’a détecté aucune substitution pour la méthode Object.Equals. Un opérateur d’égalité ou d’inégalité défini par l’utilisateur sous-entend que vous souhaitez également substituer la méthode Equals. Pour plus d’informations, consultez Comment définir l’égalité des valeurs pour un type.
L’exemple suivant génère l’avertissement 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()
{
}
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour