我读过这篇文章,但它没有回答我的问题。
MSDN说:
我们建议您从 EqualityComparer(Of T) 类派生而不是实现 IEqualityComparer(Of T) 接口,因为 EqualityComparer(Of T) 类使用 IEquatable(Of T).Equals 方法而不是 Object 来测试相等性。等于方法。
但是如果我看一下实现,它们都使用通用类型:
public class AAA:IEqualityComparer<Box>
{
public bool Equals(Box x, Box y)
{
}
public int GetHashCode(Box obj)
{
}
}
public class BBB : EqualityComparer<Box>
{
public override bool Equals(Box x, Box y)
{
}
public override int GetHashCode(Box obj)
{
}
}
我错过了什么?