static void MementoRestore(IMementoContext ctx, ref SubWithPrimitiveArray item, object m) { SubSubMemento data = (SubSubMemento)m; Sub b = item; ATTi.Core.Mementos.Memento.RestoreBaseMemento<Sub>(ctx, ref b, data.BaseMemento); ATTi.Core.Mementos.Memento.RestoreMemento<Obj>(ctx, ref Blibber, data.SubSub_Blibber); item._ss = data.SubSub_ss; ATTi.Core.Mementos.Memento.RestoreArrayMemento<int>(ctx, ref item._values, data.SubSub_values); }
static IMemento MementoCapture(IMementoContext ctx, SubWithPrimitiveArray item) { SubSubMemento m; m.BaseMemento = ATTi.Core.Mementos.Memento.CaptureBaseMemento<Sub>(ctx, item); m.SubSub_Blibber = ATTi.Core.Mementos.Memento.CaptureMemento<Obj>(ctx, Blibber); m.SubSub_ss = item._ss; m.SubSub_values = ATTi.Core.Mementos.Memento.CaptureArrayMemento<int>(ctx, item._values); return m; }