Example #1
0
            public override ICloneableElement Clone(Dictionary <ICloneableElement, ICloneableElement> objectTree, Predicate <ICloneableElement> doClone)
            {
                if (!doClone(this))
                {
                    return(this);
                }

                ICloneableElement clone;

                if (!objectTree.TryGetValue(this, out clone))
                {
                    objectTree.Add(this, clone = new SubQueryColumn(
                                       (QuerySource.SubQuery)QuerySource.Clone(objectTree, doClone),
                                       (QueryField)Field.Clone(objectTree, doClone)));
                }

                return(clone);
            }
Example #2
0
 protected override QuerySource CloneInstance(Dictionary <ICloneableElement, ICloneableElement> objectTree, Predicate <ICloneableElement> doClone)
 {
     return(new Scalar {
         _field = (QueryField)_field.Clone(objectTree, doClone)
     });
 }