コンパイラの警告 (レベル 3) CS0659

更新 : 2007 年 11 月

エラー メッセージ

'class' は Object.Equals(object o) をオーバーライドしますが、 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; }
}