Esempio n. 1
0
        /// <summary>
        /// Visits a <see cref="SerializableBinaryExpression"/>.
        /// </summary>
        /// <param name="expression"><see cref="SerializableBinaryExpression"/> to visit.</param>
        /// <returns>Returns the converted <see cref="Expression"/>.</returns>
        protected override Expression VisitSerializableBinaryExpression(SerializableBinaryExpression expression)
        {
            Expression       left       = Visit(expression.Left);
            Expression       right      = Visit(expression.Right);
            LambdaExpression conversion = (LambdaExpression)Visit(expression.Conversion);
            MethodInfo       method     = expression.Method != null ? (MethodInfo)expression.Method.GetClrVersion() : null;

            return(Expression.MakeBinary(expression.NodeType, left, right, expression.IsLiftedToNull, method, conversion));
        }
 /// <summary>
 /// Visits a <see cref="SerializableBinaryExpression"/>.
 /// </summary>
 /// <param name="expression"><see cref="SerializableBinaryExpression"/> to visit.</param>
 /// <returns>Returns the converted <see cref="Expression"/>.</returns>
 protected abstract Expression VisitSerializableBinaryExpression(SerializableBinaryExpression expression);
 private Expression VisitBinary(SerializableBinaryExpression b)
 {
     return(Expression.MakeBinary(b.NodeType, Visit(b.Left), Visit(b.Right), b.IsLiftedToNull, b.Method));
 }