internal T Execute() { if (this.func == null) { EnumerableRewriter rewriter = new EnumerableRewriter(); this.func = Expression.Lambda <Func <T> >(rewriter.Visit(this.expression), (IEnumerable <ParameterExpression>)null).Compile(); } return(this.func()); }
private IEnumerator <T> GetEnumerator() { if (this.enumerable == null) { EnumerableRewriter rewriter = new EnumerableRewriter(); Expression <Func <IEnumerable <T> > > expression2 = System.Linq.Expressions.Expression.Lambda <Func <IEnumerable <T> > >(rewriter.Visit(this.expression), (IEnumerable <ParameterExpression>)null); this.enumerable = expression2.Compile()(); } return(this.enumerable.GetEnumerator()); }