src/Library/NetPro.Dapper/Expressions/ExpressionUtils.cs

(完整代码) 1017B

using System;
using System.Linq.Expressions;

namespace NetPro.Dapper.Expressions
{
    internal class ExpressionUtils
    {
        /// <summary>
        /// Makes the predicate.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="name">The name.</param>
        /// <param name="value">The value.</param>
        /// <param name="typeOfValue">The type of value.</param>
        /// <returns></returns>
        public static Expression<Func<T, bool>> MakePredicate<T>(
            string name,
            object value,
            Type typeOfValue = null)
        {
            ParameterExpression param = Expression.Parameter(typeof(T), typeof(T).Name);
            MemberExpression memberExp = Expression.Property(param, name);
            BinaryExpression body = Expression.Equal(memberExp, typeOfValue == null ? Expression.Constant(value) : Expression.Constant(value, typeOfValue));
            return Expression.Lambda<Func<T, bool>>(body, param);
        }
    }
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。