gpt4 book ai didi

c# - WPF "undo"深拷贝

转载 作者:行者123 更新时间:2023-11-30 17:06:43 27 4
gpt4 key购买 nike

现状

我有一个使用 MVVM 和 NHibernate 的 WPF 应用程序。我有一个包含所有客户的列表框的主/详细信息窗口,列表框的 selectedItem 是用于在详细信息屏幕中显示客户详细信息的对象。在详细信息屏幕中,我有一个添加、编辑、删除、保存和撤消按钮。一切都适用于我设置的绑定(bind)。

问题

但对于撤消按钮,我正在考虑制作原始客户对象的副本,因此当我单击撤消按钮时,该字段将重置为原始值的值。但是在我的客户对象中,我有一个 Address 对象,并且通过浅拷贝,这两个对象将保持对该对象的相同引用。因此,当我更改 Address 对象的字段时,原始客户地址也将更改。我正在考虑对我的客户地址进行深度复制,但我无法使我的对象可序列化(我无法控制更改模型对象)

  • 有没有办法在不序列化的情况下进行深拷贝?
  • 或者是否有某种标准方法可以实现我想要实现的行为?

最佳答案

我只想回到数据库并重新加载客户对象。这可确保您显示的数据与数据库中的数据一致,并降低并发问题的风险。

关于c# - WPF "undo"深拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15252232/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com