示例#1
0
        /// <summary>
        /// Visits a <see cref="SerializableTypeBinaryExpression"/>.
        /// </summary>
        /// <param name="expression"><see cref="SerializableTypeBinaryExpression"/> to visit.</param>
        /// <returns>Returns the converted <see cref="Expression"/>.</returns>
        protected override Expression VisitSerializableTypeBinaryExpression(SerializableTypeBinaryExpression expression)
        {
#if !NETFX_CORE
            return(Expression.TypeIs(Visit(expression.Expression), (Type)expression.TypeOperand.GetClrVersion()));
#else
            return(Expression.TypeIs(Visit(expression.Expression), ((TypeInfo)expression.TypeOperand.GetClrVersion()).AsType()));
#endif
        }
 /// <summary>
 /// Visits a <see cref="SerializableTypeBinaryExpression"/>.
 /// </summary>
 /// <param name="expression"><see cref="SerializableTypeBinaryExpression"/> to visit.</param>
 /// <returns>Returns the converted <see cref="Expression"/>.</returns>
 protected abstract Expression VisitSerializableTypeBinaryExpression(SerializableTypeBinaryExpression expression);
示例#3
0
 /// <summary>
 /// Visits a <see cref="SerializableTypeBinaryExpression"/>.
 /// </summary>
 /// <param name="expression"><see cref="SerializableTypeBinaryExpression"/> to visit.</param>
 /// <returns>Returns the converted <see cref="Expression"/>.</returns>
 protected override Expression VisitSerializableTypeBinaryExpression(SerializableTypeBinaryExpression expression)
 {
     return(Expression.TypeIs(Visit(expression.Expression), (Type)expression.TypeOperand.GetClrVersion()));
 }
 private Expression VisitTypeIs(SerializableTypeBinaryExpression tb)
 {
     return(Expression.TypeIs(Visit(tb.Expression), tb.TypeOperand));
 }