1 使用反射创建新对象
//使用反射创建新对象
private static string type = ConfigurationManager.AppSettings["FactoryType"];
public static IDAL.INews CreateNews()
{
return (IDAL.INews)Assembly.Load(type + "DAL").CreateInstance(type + "DAL.News");
}
2 通过反射生成插入语句
//通过反射生成插入语句
private string ParserCommandText(object entity)
{
var t = entity.GetType();
var tableName = t.Name;
//初始化前缀
var sql = new StringBuilder("INSERT INTO ");
sql.AppendFormat("{0}", tableName);
//初始化参数
var fields = new List<string>();
var fieldParameterName = new List<string>();
foreach (var p in t.GetProperties())
{
fields.Add(p.Name);
fieldParameterName.Add("@" + p.Name);
}
sql.AppendFormat("({0}) ", string.Join(",", fields.ToArray()));
sql.AppendFormat("VALUES({0})", string.Join(",", fieldParameterName.ToArray()));
return sql.ToString();
}