Exemplo n.º 1
0
        private static RuleExpressionInternal GetExpression(CodeExpression expression)
        {
            Type type   = expression.GetType();
            int  length = typeWrappers.Length;

            for (int i = 0; i < length; i++)
            {
                TypeWrapperTuple tuple = typeWrappers[i];
                if (type == tuple.codeDomType)
                {
                    return(tuple.internalExpression);
                }
            }
            IRuleExpression ruleExpr = expression as IRuleExpression;

            if (ruleExpr != null)
            {
                return(new CustomExpressionWrapper(ruleExpr));
            }
            return(null);
        }
Exemplo n.º 2
0
        private static RuleExpressionInternal GetExpression(CodeExpression expression)
        {
            Type exprType        = expression.GetType();
            int  numTypeWrappers = typeWrappers.Length;

            for (int i = 0; i < numTypeWrappers; ++i)
            {
                TypeWrapperTuple tuple = typeWrappers[i];
                if (exprType == tuple.codeDomType)
                {
                    return(tuple.internalExpression);
                }
            }

            // It's not a builtin one... try a user extension expression.
            if (expression is IRuleExpression ruleExpr)
            {
                return(new CustomExpressionWrapper(ruleExpr));
            }

            return(null);
        }