asp.net 反射減少代碼書寫量
public bool Add(Liuyan refmodel)
{
string sql = "insert into liuyan(name,phone,zhiwei,gongsi,addr,country,dianyou,content,adddate)values(@name,@phone,@zhiwei,@gongsi,@addr,@country,@dianyou,@content,@adddate)";
OleDbParameter[] parameters ={
new OleDbParameter("@name",OleDbType.VarChar),
new OleDbParameter("@tel",OleDbType.VarChar),
new OleDbParameter("@zhiwei",OleDbType.VarChar),
new OleDbParameter("@gongsi",OleDbType.VarChar),
new OleDbParameter("@addr",OleDbType.VarChar),
new OleDbParameter("@country",OleDbType.VarChar),
new OleDbParameter("@dianyou",OleDbType.VarChar),
new OleDbParameter("@content",OleDbType.VarChar),
new OleDbParameter("@adddate",OleDbType.VarChar)
};
parameters[0].Value=model.Xingming;
parameters[1].Value=model.Tel;
parameters[2].Value=model.Zhiwei;
parameters[3].Value=model.Gongsi;
parameters[4].Value=model.Addr;
parameters[5].Value=model.Country;
parameters[6].Value=model.Dianyou;
parameters[7].Value=model.Content;
parameters[8].Value=model.Adddate;
return sqlHelper.executeCommand(sql, parameters);
}
本文講反射 現(xiàn)在就說在這段代碼的哪個(gè)位置使用反射 只是本人編碼過程中為了省勁突發(fā)奇想
parameters[0].Value=model.Xingming;
parameters[1].Value=model.Tel;
parameters[2].Value=model.Zhiwei;
parameters[3].Value=model.Gongsi;
parameters[4].Value=model.Addr;
parameters[5].Value=model.Country;
parameters[6].Value=model.Dianyou;
parameters[7].Value=model.Content;
parameters[8].Value=model.Adddate;
當(dāng)類里有很多屬性的時(shí)候上面這段代碼可以使用反射來賦值
//使用反射記得引用using System.Reflection;命名空間
Type t = refmodel.GetType();
for (int i = 0; i < t.GetProperties().Length; i++)
{
parameters[i].Value= t.GetProperties()[i].GetValue(refmodel, null);
}
這里使用反射來獲取類的所有屬性
然后遍歷屬性并把遍歷到的屬性值賦給參數(shù)
當(dāng)然這里是添加的方法沒有model.Id
所以for循環(huán)的時(shí)候要從1開始
然后 parameters[i].Value賦值的時(shí)候i要減一 parameters[i-1].Value
這樣以后寫數(shù)據(jù)層的時(shí)候給參數(shù)賦值就不用苦逼的一個(gè)一個(gè)復(fù)制粘貼了
怎么樣 個(gè)人小心得和大家分享
使用代碼生成工具的可以無視啦
相關(guān)文章
ASP.NET?MVC5網(wǎng)站開發(fā)用戶登錄、注銷(五)
這篇文章主要介紹了ASP.NET?MVC5?網(wǎng)站開發(fā)中用戶登錄、注銷的實(shí)現(xiàn)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-09-09ASP.NET MVC視圖頁使用jQuery傳遞異步數(shù)據(jù)的幾種方式詳解
本文詳細(xì)講解了ASP.NET MVC視圖頁使用jQuery傳遞異步數(shù)據(jù)的幾種方式,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09ASP.NET對(duì)txt文件相關(guān)操作(讀取、寫入、保存)
這篇文章主要介紹了ASP.NETtxt文件相關(guān)操作,包括讀取、寫入、保存,需要的朋友可以參考下2015-09-09.Net使用SuperSocket框架實(shí)現(xiàn)WebSocket前端
這篇文章介紹了.Net使用SuperSocket框架實(shí)現(xiàn)WebSocket前端,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01Asp.net FileUpload+Image制作頭像效果示例代碼
個(gè)人信息中通常需要自己的頭像或者照片,今天主要介紹一下使用FileUpload+img控件上傳照片,感興趣的朋友可以參考下2013-08-08關(guān)于visual studio 2012 update 2中的新功能介紹
本篇文章小編為大家介紹,關(guān)于visual studio 2012 update 2中的新功能介紹說明。需要的朋友參考下2013-04-04.net數(shù)據(jù)庫操作框架SqlSugar的簡單入門
這篇文章主要介紹了.net數(shù)據(jù)庫操作框架SqlSugar的簡單入門,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下2021-04-04