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()
{
}
}
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage (pull requests). Pour plus d’informations, consultez notre guide du contributeur.