我有一个不可变的 Money 类型(金额和货币),我正在复制我在此处看到的示例。
他们像这样实现深拷贝:
public object DeepCopy(object value)
{
return new Money(((Money) value).Amount, ((Money) value).Currency);
}
这对于不可变对象来说毫无意义且效率低下。但由于我不了解 NHibernate 库,我想知道它是否必要,以及这样做是否安全:
public object DeepCopy(object value)
{
return value;
}
我能预见的唯一区别是,如果在 NHibernate 的某个地方,他们依赖于返回object
的操作员。但这会很糟糕,所以我怀疑这种情况正在发生,但我想确认一下。!=
true
另外,请注意我的钱是 a class
,而不是 a struct
。