我希望有一个关于如何正确实现满足以下要求的类的参考:
为了满足第1点,我习惯于实施IEquatable<T>
,以相应地覆盖对象的Equals
,GetHashCode
以及==
和!=
运算符。覆盖对象的Equals
和GetHashCode
非常重要,如here和here所述。
但是,GetHashCode
可以根据类的字段返回不同的值,我最近discovered对于第2点,您需要GetHashCode
永远不会更改正确的数据在WinForms中绑定。
因此,似乎我不能同时覆盖==
运算符以检查类内容的相等性以及绑定到类属性的能力。实现这样一个类的正确方法是哪个也认为其他用户会访问它?