利用反射自己寫的乙個ModelHelper類

2021-09-05 20:12:23 字數 1036 閱讀 2762

開發中 很多人都會使用bll model這種開發,我也是,雖然現在有很多的自動生成工具,能在幾秒內生成cs的模板,但我個人還不是很喜歡,我還是喜歡自己乙個乙個去寫,這樣更能了解自己的**。

不過手動編寫的時候,最討厭的就是getmodel這類方法了,把datarow的資料轉換成乙個model,實在寫的我頭疼,因為很多**基本上都是一樣的,一直想用反射來寫這樣乙個方法,以後只要呼叫乙個方法就能完成model的賦值,那樣就方便了。今天又遇到此類**了,一時火大,自己寫了個方法,採用的反射的原理(從blogengine裡學來的),或許這個方法比較笨拙,或許有其他更好的方法來實現,不過目前是能滿足我的getmodel的需求了,也就湊活著放上來,希望大家能給我更好的建議。

廢話不說了 **如下:

public

class

modelhelper 

<

t>

where

t : 

new()

returnt;}

private

static

object

getdefaultvalue(

object

obj, type type)

else

return

obj;}}

範例:

model model 

=modelhelper

<

model

>

.convertmodel(datarow)

convertmodel靜態方法就是轉換的,getdefaultvalue方法則是獲取object的預設值的,因為從datarow裡取到的值,有時候是dbnull,如果直接賦值的話會throw錯誤的。

不好的地方:

1、model類必須與datarow的列名一一對應

2、model類我設定了必須要有析構器的

**或許不是很理想,希望大俠們指點一二。

email:[email protected]

ps2:好兄弟的爸爸去了,有點難過,願他在天堂能快樂

**:

利用反射自己寫的乙個ModelHelper類

開發中 很多人都會使用bll model這種開發,我也是,雖然現在有很多的自動生成工具,能在幾秒內生成cs的模板,但我個人還不是很喜歡,我還是喜歡自己乙個乙個去寫,這樣更能了解自己的 不過手動編寫的時候,最討厭的就是getmodel這類方法了,把datarow的資料轉換成乙個model,實在寫的我頭...

自己寫乙個LIST

pragma once forward declarations templateclass clistnode templateclass clist template class clistnode void insertafter t data template void clistnode ...

自己寫乙個框架

自己寫乙個框架 單入口mvc 類 庫 屬於擴充套件 乙個好的配置檔案和讀取功能 db介面 dispather.php index.php dispather 分析controller action 根據分析controller action 動態載入 引入乙個自動載入機制 controller.ph...