/// <summary> /// Write a nested enumeration of nodes to the media based on the value of the property /// determined by the "expression" argument /// </summary> /// <typeparam name="TChild"></typeparam> /// <param name="expression"></param> /// <returns></returns> public EnumerableExpression <TChild> Enumerable <TChild>(Expression <Func <T, IEnumerable <TChild> > > expression) { var enumerable = EnumerableProjection <T, TChild> .For(expression); _values.Add(enumerable); return(new EnumerableExpression <TChild>(enumerable)); }
/// <summary> /// Write a nested enumeration of nodes to the media based on the data returned by /// the "source" argument. /// </summary> /// <typeparam name="TElement"></typeparam> /// <param name="source"></param> /// <returns></returns> public EnumerableExpression <TElement> WriteEnumerable <TElement>(Func <IProjectionContext <T>, IEnumerable <TElement> > source) { var enumerable = new EnumerableProjection <T, TElement> { ElementSource = source, NodeName = _attributeName }; _parent._values.Add(enumerable); return(new EnumerableExpression <TElement>(enumerable)); }
public EnumerableExpression(EnumerableProjection <T, TChild> enumerable) { _enumerable = enumerable; }