Exemple #1
0
 /// <summary>Creates a clone of provided object</summary>
 /// <param name="obj">object to copy</param>
 /// <returns>copy of the submitted object</returns>
 public virtual object DeepClone(object obj)
 {
     Db4objects.Db4o.Reflect.Generic.GenericReflector myClone = new Db4objects.Db4o.Reflect.Generic.GenericReflector
                                                                    (null, (IReflector)_delegate.DeepClone(this));
     myClone._collectionPredicates = (Collection4)_collectionPredicates.DeepClone(myClone
                                                                                  );
     // Interesting, adding the following messes things up.
     // Keep the code, since it may make sense to carry the
     // global reflectors into a running db4o session.
     //        Iterator4 i = _classes.iterator();
     //        while(i.hasNext()){
     //            GenericClass clazz = (GenericClass)i.next();
     //            clazz = (GenericClass)clazz.deepClone(myClone);
     //            myClone._classByName.put(clazz.getName(), clazz);
     //            myClone._classes.add(clazz);
     //        }
     return(myClone);
 }
Exemple #2
0
 public object DeepClone(object o)
 {
     return(new LoggerReflector((IReflector)readReflector.DeepClone(o)));
 }