/// <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);
/// <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)); }