Net反射应用(Assembly)

本文介绍如何利用反射技术在C#中动态创建对象及生成SQL插入语句。通过配置文件获取类型信息,实现新对象的创建;并通过分析实体对象属性来自动生成SQL插入语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 使用反射创建新对象

隐藏行号 复制代码 这是一段程序代码。
  1. //使用反射创建新对象
  2.        private static string type = ConfigurationManager.AppSettings["FactoryType"];
    
  3.        public static IDAL.INews CreateNews()
    
  4.        {
    
  5.            return (IDAL.INews)Assembly.Load(type + "DAL").CreateInstance(type + "DAL.News");
    
  6.        }
    

2 通过反射生成插入语句

隐藏行号 复制代码 这是一段程序代码。
  1. //通过反射生成插入语句
    
  2.         private string ParserCommandText(object entity)
    
  3.         {
    
  4.             var t = entity.GetType();
    
  5.             var tableName = t.Name;
    
  6.             //初始化前缀
    
  7.             var sql = new StringBuilder("INSERT INTO ");
    
  8.             sql.AppendFormat("{0}", tableName);
    
  9.             //初始化参数
    
  10.             var fields = new List<string>();
    
  11.             var fieldParameterName = new List<string>();
    
  12.             foreach (var p in t.GetProperties())
    
  13.             {
    
  14.                 fields.Add(p.Name);
    
  15.                 fieldParameterName.Add("@" + p.Name);
    
  16.             }
    
  17.             sql.AppendFormat("({0}) ", string.Join(",", fields.ToArray()));
    
  18.             sql.AppendFormat("VALUES({0})", string.Join(",", fieldParameterName.ToArray()));
    
  19.             return sql.ToString();
    
  20.         }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值