У меня есть
public abstract class DataClass
{
public static bool operator ==(DataClass left, DataClass right)
{
return left.Equals(right);
}
}
и вот что происходит
object left = new DataClass();
object right = new DataClass();
bool expected = true;
bool actual;
actual = ((DataClass)left) == ((DataClass)right);
Assert.AreEqual(expected, actual); // passes
actual = left == right;
Assert.AreEqual(expected, actual); // fails
Как заставить его вызывать правильную реализацию, не приводя ее явно?