Compilerwarnung (Stufe 3) CS0661
'Klasse' definiert den Operator == oder !=, aber überschreibt Object.GetHashCode() nicht.
Der Compiler hat den benutzerdefinierten Gleichheits- oder Ungleichheitsoperator, aber keine Überschreibung für die GetHashCode -Funktion erkannt. Ein benutzerdefinierte Gleichheits- oder Ungleichheitsoperator impliziert, dass Sie auch die GetHashCode -Funktion überschreiben möchten.
Im folgenden Beispiel wird CS0661 generiert:
// 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()
{
}
}
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.