Beispiel #1
0
 /// <summary>
 /// Generate an XElement that represents this expression.
 /// </summary>
 /// <param name="context">XML generation context.</param>
 internal XElement GetXElement(ExpressionXmlContext context)
 {
     return(context.CheckElement(this, () =>
                                 new XElement("Expression",
                                              new XAttribute("resultType", ResultType.ToString( )),
                                              new XElement("Root", Root?.GetXElement(context)),
                                              new XElement("ListRoot", ListRoot?.GetXElement(context)))));
 }
Beispiel #2
0
        private IEnumerable <T> EvaluateList <T>(EvaluationContext evalContext, Func <EvaluationContext, T> evaluator)
        {
            var list = ListRoot.VisitItems(evalContext);

            foreach (var handle in list)
            {
                handle.Activate(evalContext);
                T result = evaluator(evalContext);
                yield return(result);
            }
        }