컴파일러 경고(수준 3) CS0660
업데이트: 2007년 11월
오류 메시지
'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()
{
}
}