System.Collections.IStructuralEquatable
和System.Collections.IStructuralComparable
,但为什么它们不是通用的,例如IEquatable<T>
和IComparable<T>
?
答案 0 :(得分:4)
example on MSDN给出了部分答案;它似乎对异构相等有用,而不是同质相等 - 即用于测试潜在不同类型的两个对象(/值)是否应该被认为是相等的。在这种情况下,调用代码极有可能处理object
(表示异构数据)。而通用方法则不能很好地发挥作用。