我有2个类,ClassA 和 ClassB,其中有很多属性。假设现在设置完了 ClassA 的属性,然后在设置 ClassB 的时候出现错误,现在需要包括 ClassA 在内回滚到开始设置之前的状态,怎么做?
如果想法是先创建一个 ClassA 的副本,那么请不要回答了,我需要的是像 C# 对于集合类属性设置的那种模式。
谢谢!

解决方案 »

  1.   

    我不太清楚你的Class有多复杂,我自己一般在类中实现一个Cleanup公共函数,此函数就实现此初始状态,在需要回到初始状态时调用即可。
      

  2.   

    Cleanup 只能恢复到最初的状态
    我需要的是恢复到上次保存的状态
      

  3.   

    我知道有一个东西是 DesignerTransaction,在组件编程的时候可以用来创建事务,但是具体怎么用就不知道了
      

  4.   

    按照你的描述可以这样实现:
    1。记录下classA的初试状态
    2。设置class A和 class B的状态放在一个try 中
    3.class B出错 throw一个你自定义的异常
    4.在你捕获异常的地方(catch)将class A 置回初始状态
      

  5.   

    通过List<T>记录实体类,遍历赋值给A和B
    同时更新编辑数据
      

  6.   

    这些方法我都知道,但是有没有其他方法呢,比方说 System.Transactions 这个命名空间下的东西是干嘛的,可不可以用来做这个事?
      

  7.   


    以前讨论过这个类
    参考:
    http://topic.csdn.net/t/20060901/23/4993055.html