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
这样以后写数据层的时候给参数赋值就不用苦逼的一个一个复制粘贴了
怎么样 个人小心得和大家分享
使用代码生成工具的可以无视啦

时间: 2022-12-29

asp.net 反射减少代码书写量_实用技巧的相关文章

asp.net 添加水印的代码(已测试)_实用技巧

加水印的功能代码如下所示 复制代码 代码如下: /// <summary> /// 图片修改类,主要是用来保护图片版权的,版权归原作者所有 /// </summary> public class picmark { #region "member fields" private string modifyImagePath = null; private string drawedImagePath = null; private int rightSpace;

ASP.NET Cache的一些总结分享_实用技巧

1.1.1 摘要 最近我们的系统面临着严峻性能瓶颈问题这是由于访问量增加客户端在同一时间请求增加这迫使我们要从两个方面解决这一问题增加硬件和提高系统的性能. 大家可以通过各种各样的方法去优化我们系统本篇博文将介绍通过Cache方法来优化系统的性能减轻系统的负担. 1.1.2 正文 不同位置的缓存 在Web应用程序中的使用缓存位置主要有客户端浏览器缓存.客户端和服务器中以及服务器端因此缓存可以分为以下几类 客户端缓存Client Caching 代理缓存Proxy Caching 反向代理缓存Re

ASP.Net巧用窗体母版页实例_实用技巧

本文实例讲述了ASP.Net巧用窗体母版页的方法.分享给大家供大家参考.具体分析如下: 背景:每个网页的基本框架结构类似: 浏览网站的时候会发现,好多网站中,每个网页的基本框架都是一样的,比如,最上面都是网站的标题,中间是内容,最下面是网站的版权.开发提供商等信息: 在这些网页中,表头.底部的样式和内容都是一样的,不同的只是中间的内容. 因此在制作网站时,可以将这些共同的东西分离出来,放到"窗体母版页"中,在需要的时候嵌套就可以. 巧用窗体母版项: 下面就开始行动(本文是以Visual

利用.net代码实现发送邮件_实用技巧

本文实例为大家分享了.net发送邮件的实现代码,供大家参考,具体内容如下 关键代码: 需要引用命名空间: using System.Net.Mail; using System.Net; MailMessage mailObj = new MailMessage(); mailObj.From = new MailAddress("mayun@qq.com"); //发送人邮箱地址 mailObj.To.Add("mahuateng@qq.com"); //收件人邮

微信抢红包ASP.NET代码轻松实现_实用技巧

群里都在玩抢红包,抢了再发,发了再抢,简直是无聊,程序员感兴趣是的如何实现,这里简单说说实现思路,附上dome,代码有点low,好在是实现了,具体内容如下  正文 100块发30个红包 50块发13个红包 1块发10个红包 发红包需要满足以下几个条件 1.总金额不变 2.每个红包都必须有钱 3.尽量的均匀点,不然抢红包没什么意思了  实现思路1.首先要确定最小单位,这里是精确到分,我这里以int类型进行计算,得出的结果也全是int类型 2.数据均匀,这里以  1<n<(剩余金额/剩余红包数)*

ASP.NET下上传图片到数据库,并且读出图片的代码(详细版)_实用技巧

首先在SQL Server中建立一个图片存储的数库表,ImageData Column为图象二进制数据储存字段,ImageContentType Column为图象文件类型记录字段,ImageDescription Column为储蓄图 象文件说明字段,ImageSize Column为储存图象文件长度字段,结构如下: 复制代码 代码如下: CREATE TABLE [dbo].[ImageStore] ( [ImageID] [int] IDENTITY (1, 1) NOT NULL , [

解读ASP.NET密码强度验证代码实例分享_实用技巧

效果如下: 输入密码:密码强度: 弱 中 强   代码如下: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//

asp.net验证提示美化效果代码(打包下载)_实用技巧

前段时间看到园里有位高手写了个纯css+js的一个效果,我把它和asp.net验证控件结合起来,用这位高手写的效果做为asp.net难控件的提示效果.如下图 和以前写的比这次写的使用起来方便,只要每个页面继承BasePage就可以了,其中Validator文件夹是必需的文件夹. 代码 复制代码 代码如下: namespace ValidatorTest { public partial class Default : <SPAN style="COLOR: #ff00ff">

asp.net 中国身份证号码验证代码 非正则_实用技巧

复制代码 代码如下: using System; /// <summary> /// Summary description for IDCardValid /// </summary> public class IDCardValid { public IDCardValid() { // // TODO: Add constructor logic here // } /// <summary> /// 验证身份证号码 /// </summary> //