Ostrzeżenie kompilatora (poziom 3) CS0660
'class' definiuje operator == lub operator != ale nie zastępuje Object.Equals(object o)
Kompilator wykrył operator równości lub nierówności zdefiniowany przez użytkownika, ale nie zastępuje Object.Equals metody . Operator równości lub nierówności zdefiniowany przez użytkownika oznacza, że chcesz również zastąpić metodę Equals . Aby uzyskać więcej informacji, zobacz How to define value equality for a type (Jak zdefiniować równość wartości dla typu).
Poniższy przykład generuje 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()
{
}
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: