为什么IStructuralEquatable和IStructuralComparable不通用?

时间:2011-02-11 11:41:54

标签: .net generics .net-4.0 equality

在.NET 4中添加了

System.Collections.IStructuralEquatableSystem.Collections.IStructuralComparable,但为什么它们不是通用的,例如IEquatable<T>IComparable<T>

1 个答案:

答案 0 :(得分:4)

example on MSDN给出了部分答案;它似乎对异构相等有用,而不是同质相等 - 即用于测试潜在不同类型的两个对象(/值)是否应该被认为是相等的。在这种情况下,调用代码极有可能处理object(表示异构数据)。而通用方法则不能很好地发挥作用。