Avertissement du compilateur (niveau 3) CS0661
'class' définit l’opérateur == ou l’opérateur != mais ne se substitue pas à Object.GetHashCode()
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 fonction GetHashCode . Un opérateur d’égalité ou d’inégalité défini par l’utilisateur sous-entend que vous souhaitez également substituer la fonction GetHashCode .
L’exemple suivant génère l’avertissement 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()
{
}
}
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :