解决方案里面有两个类库项目,DAL和NiluDAL,这两个程序集里面的方法都一样,都继承自接口层IDAL,然后我用DALFactory去动态的创建对象,为什么用DAL的可以创建,用NiluDAL的创建出来的对象是null呢。NiluDAL里面的类我都是从DAL里面的类文件复制过来粘贴的,会是什么问题呢,搞了好久弄不明白,工作急,现在无法进行下去,求救啊。。 private static readonly string path = System.Configuration.ConfigurationManager.AppSettings["WebDAL"].ToString();
public static IDAL.IDAL_XT_Canshu CreateXTCanshuInstance()
{
string className = path + ".DAL_XT_Canshu";
return (IDAL.IDAL_XT_Canshu)Assembly.Load(path).CreateInstance(className);
}
public static IDAL.IDAL_XT_Canshu CreateXTCanshuInstance()
{
string className = path + ".DAL_XT_Canshu";
return (IDAL.IDAL_XT_Canshu)Assembly.Load(path).CreateInstance(className);
}
得到的值还是正确的,但返回创建对象却是空的,真是头疼
另一个是 <add key="WebDAL" value="DAL"/>
第一个成功创建对象,第二个却不行
string className = path + ".DAL_XT_Canshu";
这个只是获取命名空间,所以直接string className = "xxx.xxx.DAL_XT_Canshu";就可以了
xxx.xxx是你的命名空间
跟踪className的值是DAL.DAL_XT_Canshu这个值能创建得出对象,到底是哪里出了问题呢??