Я уже прошел через question
Я понимаю, что необходимо реализовать ==
, !=
и Equals()
.
public class BOX
{
double height, length, breadth;
// this is first one '=='
public static bool operator== (BOX obj1, BOX obj2)
{
return (obj1.length == obj2.length
&& obj1.breadth == obj2.breadth
&& obj1.height == obj2.height);
}
// this is second one '!='
public static bool operator!= (BOX obj1, BOX obj2)
{
return !(obj1.length == obj2.length
&& obj1.breadth == obj2.breadth
&& obj1.height == obj2.height);
}
// this is third one 'Equals'
public override bool Equals(BOX obj)
{
return (length == obj.length
&& breadth == obj.breadth
&& height == obj.height);
}
}
Я предполагаю, что я правильно написал код, чтобы переопределить операторы ==
, !=
, Equals
. Хотя, я получаю ошибки компиляции следующим образом.
'myNameSpace.BOX.Equals(myNameSpace.BOX)' is marked as an override
but no suitable method found to override.
Итак, вопрос: как переопределить вышеперечисленные операторы и избавиться от этой ошибки?