最近遇见一个很郁闷的问题,代码如下:// 窗体加载
private void GridBaseForm_Load(object sender, EventArgs e)
{
BindDataSource(); // 绑定数据源
}protected virtual void BindDataSource()
{
ds = sqlHelperBusiness.GetDataSource(GetTableName(), GetListName(), GetFilterName(), GetOrder()); if (ds != null && ds.Tables.Count > 0)
{
this.gcMainView.DataSource = ds.Tables[0].DefaultView;
}
}sqlHelperBusiness 类:public DataSet GetDataSource(string tableName, string listName, string filter, string orderBy)
{
return CreateInstance().GetDataSource(tableName, listName, filter, orderBy);
}public ISqlHelper CreateInstance()
{
if (sqlHelper == null)
{
CreateInstanseFactory createInstanseFactory = new CreateInstanseFactory();
sqlHelper = createInstanseFactory.CreateInstance("SqlHelperDAO",false) as ISqlHelper;
} return sqlHelper;
}CreateInstanseFactory 类:
public object CreateInstance(string dataAccessName,bool isStatic)
{
if (!isStatic)
{
Assembly assembly = Assembly.Load("JohnXie.DataAccess");
object obj = assembly.CreateInstance(defaultAssemblyName + "." + dataAccessName) as object;
return obj;
}
else
{
return new object();
}
}运行一切正常,但是子类继承此类的时候,提示“未能加载文件或程序集“JohnXie.DataAccess”或它的某一个依赖项。系统找不到指定的文件。”但是我把 GetDataSource 方法的return值改成 return new DataSet(); 就没有任何问题了。????
private void GridBaseForm_Load(object sender, EventArgs e)
{
BindDataSource(); // 绑定数据源
}protected virtual void BindDataSource()
{
ds = sqlHelperBusiness.GetDataSource(GetTableName(), GetListName(), GetFilterName(), GetOrder()); if (ds != null && ds.Tables.Count > 0)
{
this.gcMainView.DataSource = ds.Tables[0].DefaultView;
}
}sqlHelperBusiness 类:public DataSet GetDataSource(string tableName, string listName, string filter, string orderBy)
{
return CreateInstance().GetDataSource(tableName, listName, filter, orderBy);
}public ISqlHelper CreateInstance()
{
if (sqlHelper == null)
{
CreateInstanseFactory createInstanseFactory = new CreateInstanseFactory();
sqlHelper = createInstanseFactory.CreateInstance("SqlHelperDAO",false) as ISqlHelper;
} return sqlHelper;
}CreateInstanseFactory 类:
public object CreateInstance(string dataAccessName,bool isStatic)
{
if (!isStatic)
{
Assembly assembly = Assembly.Load("JohnXie.DataAccess");
object obj = assembly.CreateInstance(defaultAssemblyName + "." + dataAccessName) as object;
return obj;
}
else
{
return new object();
}
}运行一切正常,但是子类继承此类的时候,提示“未能加载文件或程序集“JohnXie.DataAccess”或它的某一个依赖项。系统找不到指定的文件。”但是我把 GetDataSource 方法的return值改成 return new DataSet(); 就没有任何问题了。????
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货