• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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
    这样以后写数据层的时候给参数赋值就不用苦逼的一个一个复制粘贴了
    怎么样 个人小心得和大家分享
    使用代码生成工具的可以无视啦

    您可能感兴趣的文章:
    • 浅谈.NET反射机制的性能优化 附实例下载
    • .net中 关于反射的详细介绍
    • asp.net反射简单应用实例
    • .NET/C#利用反射调用含ref或out参数的方法示例代码
    • .NET/C#如何使用反射注册事件详解
    • .NET Core/Framework如何创建委托大幅度提高反射调用的性能详解
    上一篇:ASP.NET之Response.Cookies.Remove 无法删除COOKIE的原因
    下一篇:ASP.Net 之Datalist删除功能详解附代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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