1.表达式目录树和委托的类比:
表达式目录树 是一种数据结构、是一种语法树,可以被我们解析:
2.表示式目录树的使用场景:把一个对象中的数据赋值到另一个对象当中:
实现对象值赋值:
一.反射:
二.序列化器:
三.使用表达式目录树
4.使用泛型缓存+表达式目录树
调用如下:
5.ExpressionVisitor类的作用:修改表达式目录树:通过ExpressionVisitor中的Visit方法去修改,ExpressionVisitor是个抽象类,所以通过子类继承ExpressionVisitor,在子类中重写方法实现修改
6.利用ExpressionVisitor类的作用,将表达式目录树的表达式 转化为SQL语句,表达式目录树主要应用就是为了实现 Linq To Sql的,示例如下,ConditionBuilderVisittor这个类就是重写方法,将表达式目录树实现修改,将表达式目录树修改为SQL语句: