如何正确覆盖相等逻辑并保留数据绑定功能

时间:2016-05-04 08:05:00

标签: c# winforms data-binding equality gethashcode

我希望有一个关于如何正确实现满足以下要求的类的参考:

  1. 实现依赖于其内容的平等逻辑, 即其领域
  2. 证明了数据绑定
  3. 为了满足第1点,我习惯于实施IEquatable<T>,以相应地覆盖对象的EqualsGetHashCode以及==!=运算符。覆盖对象的EqualsGetHashCode非常重要,如herehere所述。

    但是,GetHashCode可以根据类的字段返回不同的值,我最近discovered对于第2点,您需要GetHashCode永远不会更改正确的数据在WinForms中绑定。

    因此,似乎我不能同时覆盖==运算符以检查类内容的相等性以及绑定到类属性的能力。实现这样一个类的正确方法是哪个也认为其他用户会访问它?

0 个答案:

没有答案