主頁 > 知識庫 > asp.net 反射減少代碼書寫量

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

熱門標簽:網(wǎng)站排名優(yōu)化 客戶服務(wù) 人工智能 電商新玩法 國美全國運營中心 百度AI接口 電銷業(yè)務(wù) 科大訊飛語音識別系統(tǒng)

 

復制代碼 代碼如下:

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)在就說在這段代碼的哪個位置使用反射 只是本人編碼過程中為了省勁突發(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;

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

 
復制代碼 代碼如下:
    
//使用反射記得引用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ù)
當然這里是添加的方法沒有model.Id
所以for循環(huán)的時候要從1開始
然后 parameters[i].Value賦值的時候i要減一  parameters[i-1].Value
這樣以后寫數(shù)據(jù)層的時候給參數(shù)賦值就不用苦逼的一個一個復制粘貼了
怎么樣 個人小心得和大家分享
使用代碼生成工具的可以無視啦

您可能感興趣的文章:
  • 淺談.NET反射機制的性能優(yōu)化 附實例下載
  • .net中 關(guān)于反射的詳細介紹
  • asp.net反射簡單應(yīng)用實例
  • .NET/C#利用反射調(diào)用含ref或out參數(shù)的方法示例代碼
  • .NET/C#如何使用反射注冊事件詳解
  • .NET Core/Framework如何創(chuàng)建委托大幅度提高反射調(diào)用的性能詳解

標簽:攀枝花 棗莊 南平 拉薩 咸寧 益陽 廈門 POS機

巨人網(wǎng)絡(luò)通訊聲明:本文標題《asp.net 反射減少代碼書寫量》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266