一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net 反射減少代碼書寫量

asp.net 反射減少代碼書寫量

2019-11-11 12:05asp.net教程網 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);
    }


本文講反射 現在就說在這段代碼的哪個位置使用反射 只是本人編碼過程中為了省勁突發奇想

復制代碼代碼如下:


   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;


  當類里有很多屬性的時候上面這段代碼可以使用反射來賦值
  

 

復制代碼代碼如下:

    
//使用反射記得引用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);
        }
 


這里使用反射來獲取類的所有屬性
然后遍歷屬性并把遍歷到的屬性值賦給參數
當然這里是添加的方法沒有model.Id
所以for循環的時候要從1開始
然后 parameters[i].Value賦值的時候i要減一  parameters[i-1].Value
這樣以后寫數據層的時候給參數賦值就不用苦逼的一個一個復制粘貼了
怎么樣 個人小心得和大家分享
使用代碼生成工具的可以無視啦

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99久久久久国产 | 免费一级欧美片在线观免看 | 欧美精品久久一区二区三区 | 欧美专区亚洲 | 99精彩免费观看 | 国产一成人精品福利网站 | 日韩大片在线 | 国产精彩视频 | 小sao货ji巴cao死你视频 | 国产精品夜夜爽张柏芝 | 欧美娇小性xxxx | 男人天堂色 | 国产欧美日韩免费一区二区 | 黑人video粗暴日本 | 99热综合在线 | 日韩国产欧美精品综合二区 | 欧美精品色精品一区二区三区 | 婷婷中文 | 免费观看a毛片一区二区不卡 | 99热精品69堂国产 | 国产精品高清视亚洲一区二区 | 欧美国产日韩综合 | 欧美日韩国产另类一区二区三区 | 99热在这里只有精品 | 国产精品手机视频一区二区 | 草综合| freexxx性欧美3d动漫 | 久久99国产综合精品AV蜜桃 | 夫妻性生活影院 | 亚洲精品中文字幕在线 | 欧洲vodafone精品性 | 精品免费国产一区二区三区 | 免费一级日本c片完整版 | 四虎免费看| 亚洲国产区中文在线观看 | 免费看黄色片网站 | 日本mv精品中文字幕 | 91视频破解| 美国雪白人妖sarina | 青青在线国产视频 | 甜性涩爱|