Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 3) CS0659

Funkcja "class" zastępuje obiekt.Equals(object o), ale nie zastępuje obiektu.GetHashCode()

Kompilator wykrył przesłonięcia metody, Object.Equals ale nie przesłania Object.GetHashCode metody. Przesłonięć Equals oznacza, że chcesz również zastąpić GetHashCodeelement .

Poniższy kod generuje 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; }  
}  

Zobacz też