'class'는 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; }
}
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET