/*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 202403/02 * Description: 暂无 ***********************************************************************/ using System.Collections.Generic; using System.Linq.Expressions; namespace CoreCms.Net.Model.Entities.Expression { public class ParameterRebinder : ExpressionVisitor { private readonly Dictionary map; public ParameterRebinder(Dictionary map) { this.map = map ?? new Dictionary(); } public static System.Linq.Expressions.Expression ReplaceParameters( Dictionary map, System.Linq.Expressions.Expression exp) { return new ParameterRebinder(map).Visit(exp); } protected override System.Linq.Expressions.Expression VisitParameter(ParameterExpression p) { ParameterExpression replacement; if (map.TryGetValue(p, out replacement)) p = replacement; return base.VisitParameter(p); } } }