asp.net 反射减少代码书写量

前端技术 2023/09/03 .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);
        }

本文地址:https://www.stayed.cn/item/8364

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。