zoukankan      html  css  js  c++  java
  • Expression<Func<T, bool>>

    public static Expression<Func<T, bool>> True<T>() { return f => true; }

    public static Expression<Func<T, bool>> False<T>() { return f => false; }

    /// <summary>

            /// 条件或    

         /// </summary>   

          /// <typeparam name="T"></typeparam>  

           /// <param name="expr1"></param>   

          /// <param name="expr2"></param>   

          /// <returns></returns>  

           public static Expression<Func<T, bool>> Or<T>(this Expression<Func<T, bool>> expr1,         Expression<Func<T, bool>> expr2)         {           

      var invokedExpr = Expression.Invoke(expr2, expr1.Parameters.Cast<Expression>());  

               return Expression.Lambda<Func<T, bool>>             (Expression.Or(expr1.Body, invokedExpr), expr1.Parameters);  

           }

            /// <summary>    

         /// 条件且

            /// </summary>

            /// <typeparam name="T"></typeparam>

            /// <param name="expr1"></param>

            /// <param name="expr2"></param>   

          /// <returns></returns>    

         public static Expression<Func<T, bool>> And<T>(this Expression<Func<T, bool>> expr1,         Expression<Func<T, bool>> expr2)         {            

    var invokedExpr = Expression.Invoke(expr2, expr1.Parameters.Cast<Expression>());      

           return Expression.Lambda<Func<T, bool>>  

               (Expression.And(expr1.Body, invokedExpr), expr1.Parameters);   

          }

  • 相关阅读:
    CentOS7修改计算机名!
    kafka原理和实践
    sip协议详解
    MP4视频测试URL地址,亲测有效
    pkill精确匹配进程名称
    gdb break 断点设置
    ZR#996
    CF1217C
    CF1217B
    CF1217A
  • 原文地址:https://www.cnblogs.com/LLJ748211490/p/3139196.html
Copyright © 2011-2022 走看看