asp.net 反射减少代码书写量
更新时间:2013年06月13日 10:23:44 作者:
还记得三层吗?没错 今天就讲我们在写三层的时候使用反射来减少代码的书写量
复制代码 代码如下:
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
这样以后写数据层的时候给参数赋值就不用苦逼的一个一个复制粘贴了
怎么样 个人小心得和大家分享
使用代码生成工具的可以无视啦
相关文章
ASP.NET MVC视图页使用jQuery传递异步数据的几种方式详解
本文详细讲解了ASP.NET MVC视图页使用jQuery传递异步数据的几种方式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-09-09.Net使用SuperSocket框架实现WebSocket前端
这篇文章介绍了.Net使用SuperSocket框架实现WebSocket前端,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-01-01Asp.net FileUpload+Image制作头像效果示例代码
个人信息中通常需要自己的头像或者照片,今天主要介绍一下使用FileUpload+img控件上传照片,感兴趣的朋友可以参考下2013-08-08关于visual studio 2012 update 2中的新功能介绍
本篇文章小编为大家介绍,关于visual studio 2012 update 2中的新功能介绍说明。需要的朋友参考下2013-04-04
最新评论