using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using System.Reflection;namespace Common.DALFactory {/// <summary>/// 数据层对象实例创建/// </summary>public partial class DbFactory{/// <summary>/// 做缓存/// </summary>private static Dictionary<string, object> dic = new Dictionary<string, object>();#region 程序集配置 -static readonly string DALAssembly/// <summary>/// 程序集配置/// </summary>private static readonly string DALAssembly = ConfigurationManager.AppSettings["dalAssembly"]; #endregion#region 命名空间配置 -static readonly string DALNameSpace/// <summary>/// 命名空间配置/// </summary>private static readonly string DALNameSpace = ConfigurationManager.AppSettings["dalNameSpace"]; #endregion#region 创建对象实例 -static object CreateInstance(string fullName, string assemblyName)/// <summary>/// 创建对象实例/// </summary>/// <param name="fullName">全名称 命名空间.类名</param>/// <param name="assemblyName">程序集名称</param>/// <returns></returns>private static object CreateInstance(string fullName, string assemblyName){string key = string.Format("{0}+{1}", assemblyName, fullName);if (!dic.ContainsKey(key)){Assembly assembly = Assembly.Load(assemblyName); // 加载程序集object obj = assembly.CreateInstance(fullName);dic.Add(key, obj);}return dic[key]; } #endregion} }