读书人

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

发布时间: 2012-09-21 15:47:26 作者: rapoo

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

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楼

读书人网 >C#

热点推荐