Прочитать на английском

Поделиться через


Предупреждение компилятора (уровень 3) CS0659

Класс "класс" переопределяет Object.Equals(object o), но не переопределяет Object.GetHashCode()

Компилятор обнаружил переопределение Object.Equals метода, но не переопределяет Object.GetHashCode метод. Переопределение Equals подразумевает, что вы также хотите переопределить GetHashCode.

Следующий код создает CS0659:

// CS0659.cs  
// compile with: /W:3 /target:library  
class Test
{  
   public override bool Equals(object o) { return true; }   // CS0659  
}  
  
// OK  
class Test2  
{  
   public override bool Equals(object o) { return true; }  
   public override int GetHashCode() { return 0; }  
}  

См. также