다음을 통해 공유


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

'class'는 == 연산자 또는 != 연산자를 정의하지만 Object.Equals(object o)를 재정의하지 않습니다.

컴파일러에서 사용자 정의 같음 또는 같지 않음 연산자는 검색했지만 Object.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()  
   {  
   }  
}