예제 #1
0
        internal ExpressionParserOptions Clone()
        {
            ExpressionParserOptions copy = (ExpressionParserOptions)this.MemberwiseClone();

            copy._myProperties = _myProperties.Clone();
            return(copy);
        }
예제 #2
0
        internal ExpressionOptions Clone()
        {
            ExpressionOptions clonedOptions = (ExpressionOptions)this.MemberwiseClone();

            clonedOptions._myProperties = _myProperties.Clone();
            return(clonedOptions);
        }
예제 #3
0
        internal ExpressionContext CloneInternal(bool cloneVariables)
        {
            ExpressionContext context = (ExpressionContext)this.MemberwiseClone();

            context._myProperties = _myProperties.Clone();
            context._myProperties.SetValue("Options", this.Options.Clone());
            context._myProperties.SetValue("ParserOptions", this.ParserOptions.Clone());
            context._myProperties.SetValue("Imports", this.Imports.Clone());
            context.Imports.SetContext(context);

            if (cloneVariables == true)
            {
                context._myVariables = new VariableCollection(this);
                this.Variables.Copy(context._myVariables);
            }

            return(context);
        }