public void CustomDynamicIterator() { // Creating some example lambda to run our expression on. var hl = @"foo howdy1:XXXXX howdy2:XXX howdy3:XXXXX "; var lambda = new Parser(hl).Lambda(); // Creating an expression, and evaluating it on above lambda. Iterator.AddDynamicIterator('%', (iteratorValue) => { var no = int.Parse(iteratorValue.Substring(1)); return((identity, input) => { return input.Where(x => x.Get <string>()?.Length == no); }); }); var x = new Expression("../**/%3"); var result = x.Evaluate(lambda); Assert.Single(result); Assert.Equal("howdy2", result.First().Name); }