2

您好我有一个派生自 ContentControl 的类,但我无法覆盖 GetHashCode 和 Equal 方法。我收到一个错误

错误 5 无法覆盖继承的成员 'System.Windows.DependencyObject.GetHashCode()' 因为它是密封的 有没有办法覆盖这个方法?我需要使用 LINQ 中的 Union 方法,但是我需要比较与正常情况不同的对象。有什么办法吗?

4

1 回答 1

4

是的 -IEqualityComparer<T>单独实现,并将其传递Union.

基本上你会告诉它如何比较任何两项是否相等,以及如何获取任何一项的哈希码。Union在构建哈希集等时将使用您的自定义比较。您不需要覆盖任何现有方法。

于 2010-10-07T20:45:23.063 回答