Clone() public method

public Clone ( ) : EvaluationContext
return EvaluationContext
示例#1
0
 public State Clone()
 {
     return(new State
     {
         Writer = Writer,
         Context = Context.Clone()
     });
 }
示例#2
0
        public void Evaluate(EvaluationContext context, TextWriter target)
        {
            context            = context.Clone();
            context.Parameters = new LayeredParameterSet(context.Parameters);

            if (PatternTransformer == null)
            {
                var state = new State {
                    Writer = target, Context = context
                };
                _evaluator.Expression.Accept(_evaluator, state);
            }
            else
            {
                StringWriter temp  = new StringWriter();
                var          state = new State {
                    Writer = temp, Context = context
                };
                _evaluator.Expression.Accept(_evaluator, state);
                string result = temp.ToString();
                target.Write(PatternTransformer.Decode(result));
            }
        }