public override object DeepCopyFindOrCreate(IDeepCloneObjectGraph graph) { if (graph.TryGetClone(this, out object clone)) { return(clone); } IdentitySymmetryBuilder builder = new IdentitySymmetryBuilder(); graph.Add(this, builder); DeepCopyPopulateFields(graph, builder); return(builder); }
public override object DeepCopyFindOrCreate(IDeepCloneObjectGraph graph) { if (graph.TryGetClone(this, out object clone)) { return(clone); } NodeArraySource <T> array = new NodeArraySource <T>(); graph.Add(this, array); DeepCopyPopulateFields(graph, array); return(array); }
public override object DeepCopyFindOrCreate(IDeepCloneObjectGraph graph) { if (graph.TryGetClone(this, out object clone)) { return(clone); } AxisPattern <T> pattern = new AxisPattern <T>(); graph.Add(this, pattern); DeepCopyPopulateFields(graph, pattern); return(pattern); }
public override object DeepCopy(IDeepCloneObjectGraph graph) { if (graph.TryGetClone(this, out object clone)) { return(clone); } SymdefPattern <T> pattern = new SymdefPattern <T>(); graph.Add(this, pattern); DeepCopy(graph, pattern); return(pattern); }
public abstract object DeepCopyFindOrCreate(IDeepCloneObjectGraph graph);
public override object DeepCopyFindOrCreate(IDeepCloneObjectGraph graph) { IDeepCloneObjectGraph context = new DeepCopyObjectGraph(); return(DeepCopyFindOrCreate(context)); }