asp.net 反射减少代码书写量
2018-10-12 13:52
507 查看
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 反射减少代码书写量
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十二) 代码重构使用反射工厂解耦(一)缓存切换
- ASP.NET通过反射获取泛型列表,从而节省代码量
- [ASP.NET] 基于.NET项目的代码书写规范要求书
- asp.net连接sql2005,cs文件里直接书写的代码,纯手工操作,不在web.config里面进行配置。
- 类似hibernate的JDBC(java反射--dao层封转,减少代码书写)
- ASP.NET中如何在页面前端书写C#代码?
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十一) 代码重构使用反射工厂解耦
- 通过 ASP.NET 2.0 的数据增强功能来提高负载和减少代码 --作者:Dino Esposito
- asp.net 自定义翻页,无需外部dll控件(Asp.net自动生成三层代码 第五集 )
- asp.net水晶报表推模式加载报表数据代码段
- asp.net+Ajax 文本文件静态分页实现代码
- 解读ASP.NET Portal Starter Kit(3)——代码文件篇
- ASP.NET中常用功能代码总结(3)——上传图片到数据库
- 如何限制asp.net中上传文件的大小的代码
- ASP.NET中防止页面多次提交的代码实现
- Asp.net常用的51个代码(非常实用)
- 不修改代码就能优化ASP.NET网站性能的一些方法
- ASP.Net常用代码
- WIN7 + IIS7.5下对ASP.NET代码的调试