示例#1
0
 protected virtual Expression VisitFunction(FunctionExpression func)
 {
     var arguments = this.VisitExpressionList(func.Arguments);
     return this.UpdateFunction(func, func.Name, arguments);
 }
示例#2
0
 protected FunctionExpression UpdateFunction(FunctionExpression func, string name, IEnumerable<Expression> arguments)
 {
     if (name != func.Name || arguments != func.Arguments)
     {
         return new FunctionExpression(func.Type, name, arguments);
     }
     return func;
 }
示例#3
0
 protected virtual bool CompareFunction(FunctionExpression x, FunctionExpression y)
 {
     return x.Name == y.Name && this.CompareExpressionList(x.Arguments, y.Arguments);
 }
示例#4
0
 protected override Expression VisitFunction(FunctionExpression func)
 {
     this.Write(func.Name);
     if (func.Arguments.Count > 0)
     {
         this.Write("(");
         for (int i = 0, n = func.Arguments.Count; i < n; i++)
         {
             if (i > 0) this.Write(", ");
             this.Visit(func.Arguments[i]);
         }
         this.Write(")");
     }
     return func;
 }
示例#5
0
 protected virtual Expression VisitFunction(FunctionExpression function)
 {
     this.Write("FUNCTION ");
     this.Write(function.Name);
     if (function.Arguments.Count > 0)
     {
         this.Write("(");
         this.VisitExpressionList(function.Arguments);
         this.Write(")");
     }
     return function;
 }