Compilerwarnung (Stufe 3) CS0660
'Klasse' definiert den Operator == oder !=, aber überschreibt Object.Equals(object o) nicht.
Der Compiler hat den benutzerdefinierten Gleichheits- oder Ungleichheitsoperator, aber keine Überschreibung für die Object.Equals-Methode erkannt. Ein benutzerdefinierter Gleichheits- oder Ungleichheitsoperator impliziert, dass Sie auch die Equals-Methode überschreiben möchten. Weitere Informationen finden Sie unter Definieren von Wertgleichheit für einen Typ.
Im folgenden Beispiel wird CS0660 generiert:
// 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()
{
}
}
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.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für