UnhandledUnary() static private méthode

ArgumentException with message like "Unhandled unary: {0}"
static private UnhandledUnary ( object p0 ) : Exception
p0 object
Résultat Exception
Exemple #1
0
        /// <summary>
        /// Creates an expression representing a unary assignment operation.
        /// </summary>
        /// <param name="unaryType">The type of assignment represented.</param>
        /// <param name="operand">The operand of the assignment operation, i.e. the assignment target.</param>
        /// <param name="method">The method implementing the assignment operation.</param>
        /// <returns>A new <see cref="AssignUnaryCSharpExpression"/> instance representing the unary assignment.</returns>
        public static AssignUnaryCSharpExpression MakeUnaryAssign(CSharpExpressionType unaryType, Expression operand, MethodInfo method)
        {
            switch (unaryType)
            {
            case CSharpExpressionType.PreIncrementAssign:
                return(PreIncrementAssign(operand, method));

            case CSharpExpressionType.PreIncrementAssignChecked:
                return(PreIncrementAssignChecked(operand, method));

            case CSharpExpressionType.PreDecrementAssign:
                return(PreDecrementAssign(operand, method));

            case CSharpExpressionType.PreDecrementAssignChecked:
                return(PreDecrementAssignChecked(operand, method));

            case CSharpExpressionType.PostIncrementAssign:
                return(PostIncrementAssign(operand, method));

            case CSharpExpressionType.PostIncrementAssignChecked:
                return(PostIncrementAssignChecked(operand, method));

            case CSharpExpressionType.PostDecrementAssign:
                return(PostDecrementAssign(operand, method));

            case CSharpExpressionType.PostDecrementAssignChecked:
                return(PostDecrementAssignChecked(operand, method));
            }

            throw LinqError.UnhandledUnary(unaryType);
        }
        //CONFORMING
        public static UnaryExpression MakeUnary(ExpressionType unaryType, Expression operand, Type type, MethodInfo method)
        {
            switch (unaryType)
            {
            case ExpressionType.Negate:
                return(Negate(operand, method));

            case ExpressionType.NegateChecked:
                return(NegateChecked(operand, method));

            case ExpressionType.Not:
                return(Not(operand, method));

            case ExpressionType.ArrayLength:
                return(ArrayLength(operand));

            case ExpressionType.Convert:
                return(Convert(operand, type, method));

            case ExpressionType.ConvertChecked:
                return(ConvertChecked(operand, type, method));

            case ExpressionType.Throw:
                return(Throw(operand, type));

            case ExpressionType.TypeAs:
                return(TypeAs(operand, type));

            case ExpressionType.Quote:
                return(Quote(operand));

            case ExpressionType.UnaryPlus:
                return(UnaryPlus(operand, method));

            case ExpressionType.Unbox:
                return(Unbox(operand, type));

            case ExpressionType.Increment:
                return(Increment(operand, method));

            case ExpressionType.Decrement:
                return(Decrement(operand, method));

            case ExpressionType.PreIncrementAssign:
                return(PreIncrementAssign(operand, method));

            case ExpressionType.PostIncrementAssign:
                return(PostIncrementAssign(operand, method));

            case ExpressionType.PreDecrementAssign:
                return(PreDecrementAssign(operand, method));

            case ExpressionType.PostDecrementAssign:
                return(PostDecrementAssign(operand, method));

            default:
                throw Error.UnhandledUnary(unaryType);
            }
        }
Exemple #3
0
        private static UnaryExpression FunctionalOp(CSharpExpressionType unaryType, Expression operand, MethodInfo method)
        {
            switch (unaryType)
            {
            case CSharpExpressionType.PreDecrementAssign:
            case CSharpExpressionType.PreDecrementAssignChecked:
                return(Expression.PreDecrementAssign(operand, method));

            case CSharpExpressionType.PreIncrementAssign:
            case CSharpExpressionType.PreIncrementAssignChecked:
                return(Expression.PreIncrementAssign(operand, method));

            case CSharpExpressionType.PostDecrementAssign:
            case CSharpExpressionType.PostDecrementAssignChecked:
                return(Expression.PostDecrementAssign(operand, method));

            case CSharpExpressionType.PostIncrementAssign:
            case CSharpExpressionType.PostIncrementAssignChecked:
                return(Expression.PostIncrementAssign(operand, method));
            }

            throw LinqError.UnhandledUnary(unaryType);
        }