public Object DeepClone(Object original, IObjectCopierState objectCopierState) { Object clone = CreateCloneInstance(original, objectCopierState); objectCopierState.AddClone(original, clone); objectCopierState.DeepCloneProperties(original, clone); return(clone); }
public Object DeepClone(Object original, IObjectCopierState objectCopierState) { StringBuilder sb = (StringBuilder)original; return(new StringBuilder(sb.ToString())); }
public Object DeepClone(Object original, IObjectCopierState objectCopierState) { IObjRef objRef = (IObjRef)original; return(ObjRefFactory.Dup(objRef)); }
protected abstract Object CreateCloneInstance(Object original, IObjectCopierState objectCopierState);