wpf 重写 ContentControl 中的 getHashCode 和 Eqaul

标签 wpf linq compare hashcode gethashcode

嗨 我有一个派生自 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/

相关文章:

c# - 使用 LINQ Where 查询仅获取部分 ConfigurationManager.ConnectionStrings

pandas - 比较 Pandas 数据框并添加列

c# - 带有嵌套 ScrollViewer 的 ScrollIntoView

wpf - 在 XAML 中设置相对列宽。 '0.5*' 字符串无法转换为长度

c# - 如何设置 DataGridColumn 的宽度以适应内容 ("Auto"),但完全填充 MVVM 中 DataGrid 的可用空间?

arrays - 将哈希值与 Ruby 中相应的数组值进行比较

c++ - 按成员变量的字母顺序对指向对象的指针数组进行排序

c# - 使用自定义控件拖放到网格上

c# - 按不同日期拆分列表

c# - 在空 IEnumerable<int> 上为 FirstOrDefault() 返回 null?