/// <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); }
public object DeepClone(object o) { return(new LoggerReflector((IReflector)readReflector.DeepClone(o))); }