close
在一篇文章LINQ中Where函式的實作中提到LINQ的基本實作,本篇文章將講解如何同時讓類別同時支援Where與Orderby。
首先準備兩個類別及一個列舉型態,一個是單純存資料的類別,另一個是存放LINQ運算式的類別,而列舉型態是用來表示運算式是由Where還是Orderby來呼叫。
接下來實作LinqClass這個繼承自IEnumerable的類別,除了存放LinqClassItem及LinqCondition以外,並實作Add及GetEnumerator這兩個method。
最後實作Select、OrderBy及Where,OrderBy及Where記錄自身的方法名稱及參數Expression,最後呼叫Select時,將_conditionList裡的元素取出來並列印相關資訊。
使用剛剛實作的類別。
執行結果。
全站熱搜
留言列表