簡體   English   中英

IEqualityComparer與EqualityComparer?

[英]IEqualityComparer vs EqualityComparer?

我已經閱讀了這篇文章,但沒有回答我的問題。

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)
        {
        }
    }

我想念什么?

我認為您提到的另一篇文章是說EqualityComparer<Box>實現IEqualityComparer<Box>IEqualityComparer ,因此,如果從EqualityComparer<Box>派生,則不必同時實現通用和非通用接口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM