/// <summary> /// 参数赋值后,初始化相关对象 /// </summary> /// <param name="bllFullName">BLL业务类的全名(子类必须实现),子类构造函数传入this.GetType().FullName</param> /// <param name="dalAssemblyName">数据访问层程序集的清单文件的文件名,不包括其扩展名。设置为NULL或默认为Assembly.GetExecutingAssembly().GetName().Name</param> /// <param name="bllPrefix">BLL命名空间的前缀(BLL.)</param> /// <param name="dbConfigName">数据库配置项名称</param> protected void Init(string bllFullName, string dalAssemblyName = null, string dbConfigName = null, string bllPrefix = "BLL.") { if (string.IsNullOrEmpty(bllFullName)) { throw new ArgumentNullException("子类未设置bllFullName业务类全名!"); } if (string.IsNullOrEmpty(dalAssemblyName)) { dalAssemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name; } //赋值,准备构建对象 this.bllFullName = bllFullName; this.dalAssemblyName = dalAssemblyName; this.bllPrefix = bllPrefix; //根据不同的数据库类型,构造相应的DAL层 AppConfig config = new AppConfig(); string dbType = config.AppConfigGet("ComponentDbType"); string DALPrefix = GetDALPrefix(dbType); this.dalName = bllFullName.Replace(bllPrefix, DALPrefix); //替换中级的BLL.为DAL.,就是DAL类的全名 baseDal = Reflect <IBaseDAL <T> > .Create(this.dalName, dalAssemblyName); //构造对应的DAL数据访问层的对象类 if (!string.IsNullOrEmpty(dbConfigName)) { baseDal.SetDbConfigName(dbConfigName); //设置数据库配置项名称 } }
/// <summary> /// 参数赋值后,初始化相关对象 /// </summary> /// <param name="bllFullName">BLL业务类的全名(子类必须实现),子类构造函数传入this.GetType().FullName</param> /// <param name="dalAssemblyName">数据访问层程序集的清单文件的文件名,不包括其扩展名。设置为NULL或默认为Assembly.GetExecutingAssembly().GetName().Name</param> /// <param name="bllPrefix">BLL命名空间的前缀(BLL.)</param> /// <param name="dbConfigName">数据库配置项名称</param> protected void Init(string bllFullName, string dalAssemblyName = null, string dbConfigName = null, string bllPrefix = "BLL.") { if (string.IsNullOrEmpty(bllFullName)) { throw new ArgumentNullException("子类未设置bllFullName业务类全名!"); } if (string.IsNullOrEmpty(dalAssemblyName)) { dalAssemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name; } //赋值,准备构建对象 this.bllFullName = bllFullName; //this.dalAssemblyName = dalAssemblyName; this.bllPrefix = bllPrefix; #region 根据不同的数据库类型,构造相应的DAL层 string dbType = config.AppConfigGet("ComponentDbType"); if (string.IsNullOrEmpty(dbType)) { dbType = "sqlserver"; } dbType = dbType.ToLower(); string DALPrefix = ""; if (dbType == "sqlserver") { DALPrefix = "SQLServerDAL."; } else if (dbType == "access") { DALPrefix = "AccessDAL."; } else if (dbType == "oracle") { DALPrefix = "OracleDAL."; } else if (dbType == "sqlite") { DALPrefix = "SQLiteDAL."; } else if (dbType == "mysql") { DALPrefix = "MySqlDAL."; } #endregion this.dalName = bllFullName.Replace(bllPrefix, DALPrefix);//替换中级的BLL.为DAL.,就是DAL类的全名 this.dalAssemblyName = dalAssemblyName.Replace(bllPrefix.Replace(".", ""), DALPrefix.Replace(".", "")); //baseDal = Reflect<IBaseDAL<T>>.Create(this.dalName, dalAssemblyName);//构造对应的DAL数据访问层的对象类 // CREATE 命名空间, 程序集名(JCodes.Framework.SQLServerDAL.DictType, JCodes.Framework.SQLServerDAL) baseDal = Reflect <IBaseDAL <T> > .Create(this.dalName, this.dalAssemblyName);//构造对应的DAL数据访问层的对象类 if (!string.IsNullOrEmpty(dbConfigName)) { baseDal.SetDbConfigName(dbConfigName); //设置数据库配置项名称 } }
/// <summary> /// 参数赋值后,初始化相关对象 /// </summary> /// <param name="bllFullName">BLL业务类的全名(子类必须实现),子类构造函数传入this.GetType().FullName</param> /// <param name="dalAssemblyName">数据访问层程序集的清单文件的文件名,不包括其扩展名。设置为NULL或默认为Assembly.GetExecutingAssembly().GetName().Name</param> /// <param name="bllPrefix">BLL命名空间的前缀(BLL.)</param> /// <param name="dbConfigName">数据库配置项名称</param> protected void Init(string bllFullName, string dalAssemblyName = null, string dbConfigName = null, string bllPrefix = "BLL.") { if (string.IsNullOrEmpty(bllFullName)) { throw new ArgumentNullException("子类未设置bllFullName业务类全名!"); } if (string.IsNullOrEmpty(dalAssemblyName)) { dalAssemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name; } //赋值,准备构建对象 this.bllFullName = bllFullName; this.dalAssemblyName = dalAssemblyName; this.bllPrefix = bllPrefix; #region 根据不同的数据库类型,构造相应的DAL层 AppConfig config = new AppConfig(); string dbType = config.AppConfigGet("ComponentDbType"); if (string.IsNullOrEmpty(dbType)) { dbType = "sqlserver"; } dbType = dbType.ToLower(); string DALPrefix = ""; if (dbType == "sqlserver") { DALPrefix = "DALSQL."; } else if (dbType == "access") { DALPrefix = "DALAccess."; } else if (dbType == "oracle") { DALPrefix = "DALOracle."; } else if (dbType == "sqlite") { DALPrefix = "DALSQLite."; } else if (dbType == "mysql") { DALPrefix = "DALMySql."; } #endregion this.dalName = bllFullName.Replace(bllPrefix, DALPrefix); //替换中级的BLL.为DAL.,就是DAL类的全名 baseDal = Reflect <IBaseDAL <T> > .Create(this.dalName, dalAssemblyName); //构造对应的DAL数据访问层的对象类 if (!string.IsNullOrEmpty(dbConfigName)) { baseDal.SetDbConfigName(dbConfigName); //设置数据库配置项名称 } }
public BusinessController() { this.bllAssemblyName = System.Reflection.Assembly.GetAssembly(typeof(B)).GetName().Name; this.baseBLL = Reflect <BaseBLL <T> > .Create(typeof(B).FullName, bllAssemblyName); if (baseBLL == null) { throw new ArgumentNullException("baseBLL", "未能成功创建对应的BaseBLL<T>业务访问层的对象"); } }
private TextDocument CreateDocument(string title, FileInfo fileInfo) { var sciDoc = sci.CreateDocument(); sci.AttachDocument(sciDoc); if (fileInfo != null) { ReadDocumentFile(sci, fileInfo); } var txtDoc = fileInfo != null?Reflect.Create <T>(fileInfo, sciDoc) : Reflect.Create <T>(title, sciDoc); txtDoc.DocumentClosed += txtDoc_DocumentClosed; OnDocumentCreateInstance((T)txtDoc); documents.Add((T)txtDoc); sci.Select(); OnDocumentOpened((T)txtDoc); return(txtDoc); }
/// <summary> /// 根据参数信息,重新初始化数据访问层(例:可以指定不同的数据访问层) /// </summary> /// <param name="dbConfigName">数据库配置项名称,可以置空,置空则使用默认配置</param> /// <param name="componentDbType">数据库类型,默认从ComponentDbType中读取,如果dbConfigName指定不同类型的数据库连接,需要指定componentDbType。</param> public void SetConfigName(string dbConfigName, string componentDbType = null) { //componentDbType = null时,从配置项取ComponentDbType的值 string dbType = componentDbType; if (string.IsNullOrEmpty(componentDbType)) { AppConfig config = new AppConfig(); dbType = config.AppConfigGet("ComponentDbType"); } string DALPrefix = GetDALPrefix(dbType); this.dalName = bllFullName.Replace(bllPrefix, DALPrefix); //替换中级的BLL.为DAL.,就是DAL类的全名 baseDal = Reflect <IBaseDAL <T> > .Create(this.dalName, dalAssemblyName); //构造对应的DAL数据访问层的对象类 //if (!string.IsNullOrEmpty(dbConfigName)) //~可以置空,置空则使用默认配置~ { baseDal.SetDbConfigName(dbConfigName); //设置数据库配置项名称 } }
protected void Init(string bllFullName, string dalAssemblyName = null, string bllPrefix = "BLL.", string dbConfigName = "mysql") { if (string.IsNullOrEmpty(bllFullName)) { throw new ArgumentNullException("子类未设置bllFullName业务类全名!"); } if (string.IsNullOrEmpty(dalAssemblyName)) { dalAssemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name; } this.bllFullName = bllFullName; this.dalAssemblyName = dalAssemblyName; this.bllPrefix = bllPrefix; AppConfig config = new AppConfig(); string dbType = config.AppConfigGet("ComponentDbType"); if (string.IsNullOrEmpty(dbType)) { dbType = "mysql"; } dbType = dbType.ToLower(); string DALPrefix = ""; if (dbType == "mysql") { DALPrefix = "DALMySql."; } if (dbType == "sqlserver") { DALPrefix = "DALSQL."; } this.dalName = bllFullName.Replace(bllPrefix, DALPrefix); this.dalName = this.dalName.Replace("BLL", "DAL"); baseDal = Reflect <IBaseDAL <T> > .Create(this.dalName, dalAssemblyName); baseDal.SetDbConfigName(dbConfigName); //设置数据库配置项名称 }