嗨 我有一个派生自 ContentControl 的类,我无法重写 GetHashCode 和 Equal 方法。我收到错误
错误 5 无法覆盖继承成员“System.Windows.DependencyObject.GetHashCode()”,因为它是密封的 有什么办法可以重写这个方法吗? 我需要使用 LINQ 中的 Union 方法,但是我需要比较具有与正常条件不同的条件的对象。有什么办法可以做到吗?
最佳答案
是 - 实现 IEqualityComparer<T>
分别,并将其传递到 relevant overload of Union
.
基本上,您将告诉它如何比较任意两个项目是否相等,以及如何获取任意一项的哈希码。 Union
在构建哈希集等时将使用您的自定义比较。您不需要覆盖任何现有方法。
关于wpf 重写 ContentControl 中的 getHashCode 和 Eqaul,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3885717/