Exemple #1
0
        /// <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));
        }
Exemple #2
0
            /// <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));
            }
Exemple #3
0
 public EnumerableExpression(EnumerableProjection <T, TChild> enumerable)
 {
     _enumerable = enumerable;
 }