我读过这篇帖子,但它没有回答我的问题。
MSDN 他说
我们建议您从EqualityComparer(Of T)类派生,而不是实现IEqualityComparer(Of T)接口,因为EqualityComparer(Of T)类使用IEquatable(Of T).Equals方法而不是Object.Equals方法测试等式。
但是,如果我看一下实现,它们都使用泛型类型:
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)
{
}
}
我遗漏了什么?
发布于 2015-02-20 17:21:38
我认为您提到的其他员额是说EqualityComparer<Box>
实现了IEqualityComparer<Box>
和IEqualityComparer
,所以如果您从EqualityComparer<Box>
派生,就不必同时实现泛型接口和非泛型接口。
https://stackoverflow.com/questions/9558889
复制相似问题