为什么 VisitParameter 将每个参数打印 2 次?
class MyExpressionVisitor : ExpressionVisitor
{
protected override Expression VisitParameter(ParameterExpression node)
{
Console.WriteLine(node.Name);
Console.WriteLine("*************************");
return base.VisitParameter(node);
}
}
class Program
{
public static void Main(string[] args)
{
Expression<Func<int,int int>> someExpr = (x,y) => x + y + 1;
var myVisitor = new MyExpressionVisitor();
myVisitor.Visit(someExpr);
Console.ReadKey();
}
}
结果:
X
是的
X
是的