所以我有一个价值object,(任意说钱),我想为它实现平等.我知道==和.Equals()(参考和数据相等)的预期/默认行为.
在这种情况下,我希望能够比较两个对象,并说它们相当于计算(例如1m和3ft是等效的)但是对于持久性(使用NHibernate,isDirty我认为取决于相等),用户显示和选择货币,我希望它们被认为是不同的.
在这种情况下,我应该
==和.Equals()(以及应该做什么),.IsEquivalent()(我不想做后者)我应该遵循最佳实践/模式吗?谢谢
编辑:我得到了一些关于改变汇率的回应.所以要更新清晰度.让我们说高度,而不是货币
与实施货币相比,我更关注实践和模式.基本上,相同的方法是一个人的身高,其中身高是一个价值对象,({1,m}到{3,ft},其中1m总是"等于"/"相当于"3ft)