close

在一篇文章LINQ中Where函式的實作中提到LINQ的基本實作,本篇文章將講解如何同時讓類別同時支援Where與Orderby。

首先準備兩個類別及一個列舉型態,一個是單純存資料的類別,另一個是存放LINQ運算式的類別,而列舉型態是用來表示運算式是由Where還是Orderby來呼叫。

2011-05-08_172031

 

接下來實作LinqClass這個繼承自IEnumerable的類別,除了存放LinqClassItem及LinqCondition以外,並實作Add及GetEnumerator這兩個method。

2011-05-08_172100

 

最後實作Select、OrderBy及Where,OrderBy及Where記錄自身的方法名稱及參數Expression,最後呼叫Select時,將_conditionList裡的元素取出來並列印相關資訊。

2011-05-08_172127

 

使用剛剛實作的類別。

2011-05-08_172347

 

執行結果。

2011-05-08_172418

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(0) 人氣()