From a8344f3d4cd34cd6f380350b9e4e8d8e22483fde Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 8 Jan 2017 21:49:54 +0800 Subject: [PATCH] - --- .../MemberConstExpressionResolve.cs | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/MemberConstExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/MemberConstExpressionResolve.cs index 19b02c88c..7c6be2dca 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/MemberConstExpressionResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/MemberConstExpressionResolve.cs @@ -97,27 +97,25 @@ namespace SqlSugar private static object GetFiledValue(MemberExpression memberExpr) { - object reval; + object reval = null; + FieldInfo field = (FieldInfo)memberExpr.Member; + reval = field.GetValue(memberExpr.Member); + if (reval != null && reval.GetType().IsClass && reval.GetType() != ExpressionConst.StringType) { - FieldInfo field = (FieldInfo)memberExpr.Member; - reval = field.GetValue(memberExpr.Member); - if (reval != null && reval.GetType().IsClass && reval.GetType() != ExpressionConst.StringType) + var fieldName = memberExpr.Member.Name; + var proInfo = reval.GetType().GetProperty(fieldName); + if (proInfo != null) + { + reval = proInfo.GetValue(reval, null); + } + var fieInfo = reval.GetType().GetField(fieldName); + if (fieInfo != null) + { + reval = fieInfo.GetValue(reval); + } + if (fieInfo == null && proInfo == null) { - var fieldName = memberExpr.Member.Name; - var proInfo = reval.GetType().GetProperty(fieldName); - if (proInfo != null) - { - reval = proInfo.GetValue(reval, null); - } - var fieInfo = reval.GetType().GetField(fieldName); - if (fieInfo != null) - { - reval = fieInfo.GetValue(reval); - } - if (fieInfo == null && proInfo == null) - { - } } } return reval; @@ -125,7 +123,7 @@ namespace SqlSugar private static object GetPropertyValue(MemberExpression memberExpr) { - object reval; + object reval = null; PropertyInfo pro = (PropertyInfo)memberExpr.Member; reval = pro.GetValue(memberExpr.Member, null); if (reval != null && reval.GetType().IsClass && reval.GetType() != ExpressionConst.StringType)