コード例 #1
0
 public SubstitutedFunction(Function <T1, TResult1> func1, Function <T2, TResult2> func2) : base(Lambda.Substitute <T1, TResult1, T2, TResult2>(func1.Expression, func2.Expression))
 {
     this._func1 = func1;
     this._func2 = func2;
 }
コード例 #2
0
 protected override bool VisitLambda(LambdaExpression x, LambdaExpression y)
 {
     if (this.DefaultVisit(x, y))
     {
         if (x.Parameters.Count != y.Parameters.Count)
         {
             return(false);
         }
         if (this.ParametersByIndex)
         {
             ExpressionEqualityComparer.ParameterMaps item = new ExpressionEqualityComparer.ParameterMaps(Lambda.GetParametersMap(x), Lambda.GetParametersMap(y));
             this._paramMaps.Push(item);
             try
             {
                 return(this.Visit(x.Body, y.Body));
             }
             finally
             {
                 this._paramMaps.Pop();
             }
         }
         if (VisitLists <ParameterExpression>(x.Parameters, y.Parameters, new Func <ParameterExpression, ParameterExpression, bool>(this, this.VisitParameter)))
         {
             return(this.Visit(x.Body, y.Body));
         }
     }
     return(false);
 }