我有一个 C# 类型,将其与 int 进行比较是合乎逻辑的。调用这种类型Number
。
但是,我无法使 Equals 对称,因为我无法更改Int32.Equals(object other)
. 那么,我是否应该允许不对称相等,如下所示:
Number numberThree = new Number(3);
int intThree = 3;
bool equal;
equal = numberThree.Equals(intThree); // equal is true
equal = intThree.Equals(numberThree); // equal is false
或者我应该只在类型匹配以及数值匹配的情况下才允许相等?