色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

表達(dá)式樹和泛型委托

什么是表達(dá)式樹?

  表達(dá)式樹又稱為表達(dá)式目錄樹,以數(shù)據(jù)形式表示語言級代碼。所有的數(shù)據(jù)都存儲(chǔ)在樹結(jié)構(gòu)中,每個(gè)結(jié)點(diǎn)表示一個(gè)表達(dá)式(Expression)。要想手動(dòng)生成表達(dá)式樹我們需要引用System.Linq.Expressions 命名空間,最重要的一個(gè)類是Expression,它是所有表達(dá)式的基類。例如:

  1:參數(shù)表達(dá)式:ParameterExpression,就是一個(gè)方法中的參數(shù),例如 search(string key),key可以看成是一個(gè)參數(shù)表達(dá)式。

  2:二元表達(dá)式:BinaryExpression,例如a+b等。

  3:方法調(diào)用表達(dá)式:MethodCallExpression,例如:自定義LINQ提供程序中實(shí)現(xiàn)orderby 的操作:

MethodCallExpression orderByCallExpression = Expression.Call(
                
typeof(Queryable),
                
"OrderBy",
                
new Type[] { queryableData.ElementType, queryableData.ElementType
 },
                whereCallExpression,
                Expression.Lambda
<Func<stringstring>>(pe, new ParameterExpression
[] { pe }));

NET技術(shù)表達(dá)式樹和泛型委托,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 东明县| 忻城县| 吉林省| 大洼县| 平罗县| 湖州市| 桃园市| 安岳县| 宜宾市| 泌阳县| 闸北区| 玉溪市| 阿勒泰市| 天柱县| 临城县| 华阴市| 六枝特区| 定安县| 乐陵市| 巴彦县| 松滋市| 海伦市| 邵阳市| 将乐县| 杭锦旗| 德惠市| 定日县| 内乡县| 固阳县| 平山县| 尉犁县| 滨海县| 中方县| 青海省| 宝清县| 郎溪县| 永德县| 宜兰县| 阿拉善左旗| 舞钢市| 泸州市|