提问人:Mauro Ganswer 提问时间:5/4/2016 最后编辑:CommunityMauro Ganswer 更新时间:5/4/2016 访问量:88
如何正确重写相等逻辑并保留数据绑定功能
How to properly override equality logic and preserve data binding capabilities
问:
我想提供有关如何正确实现满足以下条件的类的参考:
- 实现依赖于其内容的平等逻辑, 即它的领域
- 经验证可用于数据绑定
为了满足第 1 点,我习惯于实现 ,以相应地覆盖 Object 的 和 和运算符。覆盖 Object's and 也很重要,例如 here 和 here。IEquatable<T>
Equals
GetHashCode
==
!=
Equals
GetHashCode
但是,可以根据类的字段返回不同的值,我最近发现,对于第 2 点,您需要永远不要更改 WinForms 中的正确数据绑定。GetHashCode
GetHashCode
因此,似乎我无法同时重写运算符以检查类内容是否相等,也无法绑定到类属性。实现这样一个类的正确方法是什么,同时认为其他用户也会访问它?==
答: 暂无答案
评论