Update() публичный Метод

Creates a new expression that is like this one, but using the supplied children. If all of the children are the same, it will return this expression.
public Update ( NewExpression newExpression, IEnumerable initializers ) : ListInitExpression
newExpression NewExpression The property of the result.
initializers IEnumerable The property of the result.
Результат ListInitExpression
Пример #1
0
 /// <summary>
 /// Visits the children of the <see cref="ListInitExpression"/>.
 /// </summary>
 /// <param name="node">The expression to visit.</param>
 /// <returns>The modified expression, if it or any subexpression was modified;
 /// otherwise, returns the original expression.</returns>
 protected internal virtual Expression VisitListInit(ListInitExpression node)
 {
     return(node.Update(
                VisitAndConvert(node.NewExpression, nameof(VisitListInit)),
                Visit(node.Initializers, VisitElementInit)
                ));
 }
Пример #2
0
 protected override Expression VisitListInit(ListInitExpression node)
 {
     // If we here, than eval the whole block failed, don't touch constructor!
     _allowEval = false;
     var newExpr = VisitAndConvert(node.NewExpression, "VisitListInit");
     _allowEval = true;
     // ReSharper disable once AssignNullToNotNullAttribute
     return node.Update(newExpr, Visit(node.Initializers, VisitElementInit));
 }
Пример #3
0
        protected override ExpressionTree VisitListInit(ListInitExpression node)
        {
            CheckChildrenCount(1 + node.Initializers.Count);

            var n = (NewExpression)ExtractChildExpression(0);
            var i = ExtractChildInitializers(1, node.Initializers.Count);

            var expression = node.Update(n, i);

            return(CreateExpressionTree(expression));
        }
Пример #4
0
        /// <summary>
        ///     Visits the children of the <see cref="ListInitExpression" />.
        /// </summary>
        /// <param name="node">The expression to visit.</param>
        /// <returns>
        ///     The modified expression, if it or any subexpression was modified;
        ///     otherwise, returns the original expression.
        /// </returns>
        protected internal virtual Expression VisitListInit(ListInitExpression node)
        {
            if (node == null)
            {
                throw new ArgumentNullException(nameof(node));
            }

            return(node.Update
                   (
                       VisitAndConvert(node.NewExpression, nameof(VisitListInit)),
                       Visit(node.Initializers, VisitElementInit)
                   ));
        }
 protected internal virtual Expression VisitListInit(ListInitExpression node)
 {
     return(node.Update(this.VisitAndConvert <NewExpression>(node.NewExpression, "VisitListInit"), Visit <ElementInit>(node.Initializers, new Func <ElementInit, ElementInit>(this.VisitElementInit))));
 }