Ejemplo n.º 1
0
        public void ReadExternal(IMemento memento, ExternalizeContext context)
        {
            _saveTo   = memento.ReadSerializable("ExternalizableProxy.SaveTo") as Action <T, IMemento, ExternalizeContext>;
            _loadFrom = memento.ReadSerializable("ExternalizableProxy.LoadFrom") as Func <IMemento, ExternalizeContext, T>;

            _real = _loadFrom(memento, context);
        }
Ejemplo n.º 2
0
        public static Bar LoadBar(IMemento mem, ExternalizeContext context)
        {
            var ret = new Bar();

            ret.Value = mem.ReadInt("Value");
            return(ret);
        }
Ejemplo n.º 3
0
        // ========================================
        // method
        // ========================================
        public void WriteExternal(IMemento memento, ExternalizeContext context)
        {
            memento.SetConstructorParamKeys(new[] { "ExternalizableProxy.SaveTo", "ExternalizableProxy.LoadFrom" });
            memento.WriteSerializable("ExternalizableProxy.SaveTo", _saveTo);
            memento.WriteSerializable("ExternalizableProxy.LoadFrom", _loadFrom);

            _saveTo(_real, memento, context);
        }
Ejemplo n.º 4
0
 public static void SaveFoo(Foo foo, IMemento mem, ExternalizeContext context)
 {
     mem.WriteInt("Value", foo.Value);
     mem.WriteExternalizable(
         "Bar",
         new BarProxy(foo.Bar, SaveBar, LoadBar)
         );
 }
Ejemplo n.º 5
0
        public static Foo LoadFoo(IMemento mem, ExternalizeContext context)
        {
            var ret = new Foo();

            ret.Value = mem.ReadInt("Value");
            var barProxy = mem.ReadExternalizable("Bar") as BarProxy;

            ret.Bar = barProxy.Real;
            return(ret);
        }
Ejemplo n.º 6
0
 public virtual void ReadExternal(IMemento memento, ExternalizeContext context)
 {
     _value = memento.ReadInt("Value");
     _foo   = memento.ReadExternalizable("Foo") as Foo;
 }
Ejemplo n.º 7
0
 public virtual void WriteExternal(IMemento memento, ExternalizeContext context)
 {
     memento.WriteInt("Value", _value);
     memento.WriteExternalizable("Foo", _foo);
 }
Ejemplo n.º 8
0
 public virtual void ReadExternal(IMemento memento, ExternalizeContext context)
 {
     _value = memento.ReadInt("Value");
     _bar   = memento.ReadExternalizable("Bar") as Bar;
 }
Ejemplo n.º 9
0
 public static void SaveBar(Bar bar, IMemento mem, ExternalizeContext context)
 {
     mem.WriteInt("Value", bar.Value);
 }
Ejemplo n.º 10
0
        // --- load ---
        public object Load(IMemento memento, MementoFilter mementoFilter)
        {
            var context = new ExternalizeContext(this, null, mementoFilter);

            return(context.CreateExternalizable((Memento)memento));
        }
Ejemplo n.º 11
0
        // ========================================
        // method
        // ========================================
        // --- save ---
        public IMemento Save(object externalizable, ExternalizableFilter externalizableFilter)
        {
            var context = new ExternalizeContext(this, externalizableFilter, null);

            return(context.CreateMemento(externalizable));
        }