SqlSugar.ResolveExpress.UnaryExpression C# (CSharp) Method

UnaryExpression() private method

private UnaryExpression ( Expression exp, MemberType &type ) : string
exp System.Linq.Expressions.Expression
type MemberType
return string
        private string UnaryExpression(Expression exp, ref MemberType type)
        {
            UnaryExpression ue = ((UnaryExpression)exp);
            var mex = ue.Operand;
            bool? isComparisonOperator = null;
            var isNot = ue.NodeType==ExpressionType.Not;
            if (mex.NodeType == ExpressionType.MemberAccess && isNot)
            {
                isComparisonOperator = false;
            }
            var cse = CreateSqlElements(mex, ref type, false,isComparisonOperator);
            if (type == MemberType.Value && isNot && cse.IsIn("1","0"))
            {
                cse = cse == "1" ? "0" : "1";

            }else if (type == MemberType.None && isNot)
            {
                cse = " NOT " + cse;
            }
            return cse;
        }