1.表示式目錄樹和委託的類比:
表示式目錄樹 是一種資料結構、是一種語法樹,可以被我們解析:
2.表示式目錄樹的使用場景:把一個物件中的資料賦值到另一個物件當中:
實現物件值賦值:
一.反射:
二.序列化器:
三.使用表示式目錄樹
4.使用泛型快取+表示式目錄樹
呼叫如下:
5.ExpressionVisitor類的作用:修改表示式目錄樹:透過ExpressionVisitor中的Visit方法去修改,ExpressionVisitor是個抽象類,所以透過子類繼承ExpressionVisitor,在子類中重寫方法實現修改
6.利用ExpressionVisitor類的作用,將表示式目錄樹的表示式 轉化為SQL語句,表示式目錄樹主要應用就是為了實現 Linq To Sql的,示例如下,ConditionBuilderVisittor這個類就是重寫方法,將表示式目錄樹實現修改,將表示式目錄樹修改為SQL語句: