ParameterReplacer.cs 601 B

123456789101112131415161718192021222324
  1. using System.Linq.Expressions;
  2. namespace Masuit.Tools.Core.Linq
  3. {
  4. public class ParameterReplacer : ExpressionVisitor
  5. {
  6. public ParameterReplacer(ParameterExpression paramExpr)
  7. {
  8. this.ParameterExpression = paramExpr;
  9. }
  10. public ParameterExpression ParameterExpression { get; private set; }
  11. public Expression Replace(Expression expr)
  12. {
  13. return this.Visit(expr);
  14. }
  15. protected override Expression VisitParameter(ParameterExpression p)
  16. {
  17. return this.ParameterExpression;
  18. }
  19. }
  20. }