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