Esempio n. 1
0
 /// <summary>
 /// Visits a <see cref="SerializableNewExpression"/>.
 /// </summary>
 /// <param name="expression"><see cref="SerializableNewExpression"/> to visit.</param>
 /// <returns>Returns the converted <see cref="Expression"/>.</returns>
 protected override Expression VisitSerializableNewExpression(SerializableNewExpression expression)
 {
     if (expression.Members == null)
     {
         return(Expression.New((ConstructorInfo)expression.Constructor.GetClrVersion(), VisitCollection <Expression>(expression.Arguments)));
     }
     return(Expression.New((ConstructorInfo)expression.Constructor.GetClrVersion(), VisitCollection <Expression>(expression.Arguments), expression.Members.Select(m => m.GetClrVersion())));
 }
 private Expression VisitNew(SerializableNewExpression n)
 {
     if (n.Constructor == null)
     {
         return(Expression.New(n.Type));
     }
     if (n.Members != null && n.Members.Length > 0)
     {
         return(Expression.New(n.Constructor, VisitExpressionSequence(n.Arguments), n.Members));
     }
     return(Expression.New(n.Constructor, VisitExpressionSequence(n.Arguments)));
 }
 /// <summary>
 /// Visits a <see cref="SerializableNewExpression"/>.
 /// </summary>
 /// <param name="expression"><see cref="SerializableNewExpression"/> to visit.</param>
 /// <returns>Returns the converted <see cref="Expression"/>.</returns>
 protected abstract Expression VisitSerializableNewExpression(SerializableNewExpression expression);