首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

在三层架构中工厂类实现时遇到的一个有关问题

2012-09-21 
在三层架构中工厂类实现时遇到的一个问题我写了一个方法获取 类型C# code private static System.Type Get

在三层架构中工厂类实现时遇到的一个问题
我写了一个方法获取 类型

C# code
 private static System.Type GetImplType(string name)        {            string configName = System.Configuration.ConfigurationManager.AppSettings["DataAccess"];// 获取程序集名            string className = string.Format("{0}.{1}", configName, name); //拼接程序集+类名  使之完整             System.Reflection.Assembly.Load(configName);   //加载程序集            System.Type type = System.Type.GetType(className);  //通过类名 得到 类型                                  return type;        }      


到这里我通过调试已经可以获取 className的值为 PetShop.SQLServerDAL.Category

为什么 调用这句后 System.Type type = System.Type.GetType(className); 

type 的值 为null?

希望大家帮忙看看


[解决办法]
不可能吧。。
 string className = string.Format("{0}.{1}", configName, name); //拼接程序集+类名 使之完整 
这个明显为 string 撒
[解决办法]
Assembly asm = Assembly.Load(configName); //加载程序集

System.Type type = asm.GetType(className); //通过类名 得到 类型


你把倒数第二句,第三句改成这样试试呢
[解决办法]
1.Load(string)中的参数指的是:文件名称
2.GetType(string)中的参数指的是:命名空间.类名称
3.楼主写法错误,参照2楼

热点排行