컴파일러 경고(수준 3) CS0659

오류 메시지

'class'은(는) Object.Equals(object o)를 재정의하지만 Object.GetHashCode()를 재정의하지 않습니다.
'class' overrides Object.Equals(object o) but does not override Object.GetHashCode()

컴파일러에서 Equals 함수에 대한 재정의는 발견했지만 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; }
}