Предупреждение компилятора (уровень 3) CS0660
Обновлен: Ноябрь 2007
Сообщение об ошибке
В классе 'class' определен оператор == или оператор !=, но не переопределен метод Object.Equals(object o)
'class' defines operator == or operator != but does not override Object.Equals(object o)
Компилятор обнаружил определенный пользователем оператор равенства или неравенства, но переопределение функции Equals отсутствует. Определенный пользователем оператор равенства или неравенства подразумевает переопределение функции Equals.
Следующий пример проводит к генерированию ошибки 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()
{
}
}