似乎必须覆盖Equality才能覆盖比较。
这是真的吗?我错过了什么理由?
答案 0 :(得分:6)
没有。可以只进行自定义比较
[<CustomComparison>]
[<StructuralEquality>]
type Node =
| Data of string
| Nil
with
interface System.IComparable with
member x.CompareTo y = 0
请注意,此代码会产生警告,并建议您在类型上实现相等性。这通常是一个好主意。如果你经历了实现比较的麻烦,那么直接相等(比较== 0)。