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);
            }
        }
    
  • 相关阅读:
    数据库部署
    css常见问题
    extjs记录
    C#相关问题
    window疑难问题解决
    常用linq
    不同数据库之间的相互链接
    聊天数据库
    无线路由接入
    [转]如何才能让你的简历被谷歌相中
  • 原文地址:https://www.cnblogs.com/krockey/p/14592387.html
Copyright © 2011-2022 走看看