C 教程之自己動手寫對映第六節 封裝列表

2021-09-06 05:48:08 字數 1900 閱讀 4625

一、動機

經過了前面幾節的闡述,我們已經可以通過"動態生成sql"與"反射機制"完成簡單的物件與資料表的對映。如:add(object obj)、remove(object obj)等。好的,我們看如下**:

1

public

static listgetlist(int pagesize, int currentpageindex, out

inttotalcount)217

}18return

lista;19}

2021

public

static listgetlist(int pagesize, int currentpageindex, out

inttotalcount)

2237}38

return

listb;

39 }

我們在獲取列表的時候總會對dataset或datareader裡的資料進行轉換,並放入到dto中。

二、構想

我們是否可以把重複書寫的**進行封裝並對外提供介面以簡化我們的工作量呢...如下所示:

1

public

static list getlist(object classobject, string assemblyname, string

connstring);

2public

static list getlist(object classobject, string strwhere, string assemblyname, string

connstring);

3public

static list getlist(object classobject, int intpagesize, int intcurrentcount, out

int inttotalcount, string assemblyname, string

connstring);

4public

static list getlist(object classobject, int intpagesize, int intcurrentcount, string strwhere, out

int inttotalcount, string assemblyname, string connstring);

這樣我們再通過型別轉換就可以使用list了.

三、實現

我們依然是依賴物件對映去轉換dataset,如下**所示:

1

///2

///把dataset 轉換成為list

3///

4///

5///

6///

7///

8internal925

26//

遍歷dataset

27int introwcount = ds.tables[0

].rows.count;

28for (int j = 0; j < introwcount; j++)

2940

//將實體新增到 list

41templist.add(typetempobject);

42//

清空物件引用

43 typetempobject = null;44

}45}46

return

templist;

47 }

四、版權

C 學習 第六節

什麼是型別 type 型別在c 中的作用 c 語言的型別系統 變數 物件與記憶體 型別 type 資料型別 性質相同的值得集合 記憶體 內部儲存單元,計算機執行程式的空間 外存 擴充套件儲存器,硬碟 賦值用 判斷用 dynamic 動態字元定義,弱型別的使用方法,c 是強型別程式語言 1 資料型別表...

C 教程之自己動手寫對映第一節 動機

前言撒 最近在園子裡看到不少老鳥們寫一些orm相關的文章。做為菜鳥的我有感而發,因為本人也一直在完善自己的om框架做為平時的娛樂。所謂 授人以魚,不如授之以漁 當我看到老鳥們寫的文章時,大部份只寫了部分核心 和使用方法並且開源。站在使用價值的角度來說,確實實用 量少,重用性高,操作簡單啦等等.可是站...

C 迴圈的簡單使用(第六節)

上數學課時,我們常常在用相同的方法重複不斷的做一件事,根據之前的學習我們發現一些問題,重複某件事用c 該怎麼表達的呢?總不能一句一句寫,寫道天荒地老。所以就有了迴圈的語句的設計 c 給我們提供了三種迴圈的語句 for迴圈 while迴圈 do while迴圈。for迴圈 語法結構 for 初始表示式...