Ejemplo n.º 1
0
        /********************************************************************************************************************/

        private DicParam StringLike(MethodCallExpression mcExpr, StringLikeEnum type)
        {
            if (mcExpr.Object == null)
            {
                return(null);
            }
            else
            {
                var objExpr     = mcExpr.Object;
                var objNodeType = mcExpr.Object.NodeType;
                if (objNodeType == ExpressionType.MemberAccess)
                {
                    var memO    = objExpr as MemberExpression;
                    var memType = objExpr.Type;
                    if (memType == typeof(string))
                    {
                        var cp      = GetKey(memO, FuncEnum.None, CompareXEnum.None);
                        var valExpr = mcExpr.Arguments[0];
                        var val     = DC.VH.ValueProcess(valExpr, cp.ValType);
                        val        = ValueInfo.LikeVI(val, type, DC);
                        DC.Option  = OptionEnum.Compare;
                        DC.Compare = CompareXEnum.Like;
                        DC.Func    = FuncEnum.None;
                        return(DC.DPH.LikeDic(cp, val));
                    }
                }
            }

            return(null);
        }