我正在编写一个类库来使用牛顿法求解非线性方程。我偶然发现了运算符重载,并考虑过重载 ==-Operator。类似的东西expression1 == expression2
将解决方案返回为 a Constant
,它基本上是一个包装类System.Double
:
public static Constant operator ==(Derivable d1, Derivable d2)
{
return d1.Equal(d2);
}
尽管它编译得非常好并且可以工作,但我问自己是否可以合理的设计选择来重载==-Operator
以返回除了两个对象相等之外的东西作为 a bool
,特别是因为你还必须重载!=-Operator
. 这是不好的做法,我应该只使用我的方法Equal
吗?