zoukankan      html  css  js  c++  java
  • 规约

        public static class Spec
        {
            /// <summary>
            /// True条件。
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <returns>True条件</returns>
            public static Expression<Func<T, bool>> True<T>() { return f => true; }
    
            /// <summary>
            /// False条件。
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <returns>False条件</returns>
            public static Expression<Func<T, bool>> False<T>() { return f => false; }
    
            /// <summary>
            /// 逻辑或。
            /// </summary>
            /// <param name="left">左逻辑。</param>
            /// <param name="right">右逻辑。</param>
            /// <returns>逻辑表达式。</returns>
            public static Expression<Func<T, bool>> Or<T>(this Expression<Func<T, bool>> left, Expression<Func<T, bool>> right)
            {
                var invokedExpr = Expression.Invoke(right, left.Parameters);
                return Expression.Lambda<Func<T, bool>>(Expression.Or(left.Body, invokedExpr), left.Parameters);
            }
    
            /// <summary>
            /// 逻辑与。
            /// </summary>
            /// <param name="left">左逻辑。</param>
            /// <param name="right">右逻辑。</param>
            /// <returns>逻辑表达式。</returns>
            public static Expression<Func<T, bool>> And<T>(this Expression<Func<T, bool>> left, Expression<Func<T, bool>> right)
            {
                var invokedExpr = Expression.Invoke(right, left.Parameters);
                return Expression.Lambda<Func<T, bool>>(Expression.And(left.Body, invokedExpr), left.Parameters);
            }
        }
    
  • 相关阅读:
    反射
    定义类
    集合list,set,Map
    API util
    进程与多线程
    泛型
    API string
    JDBC存储过程
    预处理
    JDBC
  • 原文地址:https://www.cnblogs.com/krockey/p/14592387.html
Copyright © 2011-2022 走看看