日期:2014-05-20  浏览次数:20834 次

通过对象名称反射获得对象实例
数据库表有一字段:typeName ,保存的数据是程序里面UserControl对象名称,如:UserManage.cs  typeName的记录就为 UserManage,小弟现在想每次读取数据库记录的时候就把typeName对应的UserControl实例化,小弟初学反射,请问各位大侠应该如何实现?小弟在此感激不尽!
------解决方案--------------------
 string ClassName = "Pay";//这个是你从数据库里查询到的类名
            Assembly a = Assembly.Load("程序集名称");//Assembly有多个加载程序集的静态的方法,用程序集名称,用type,程序集路径等,自行调用试试

//到这里 a就是你封装好的类的程序集,通过a创建指定类的对象,参数是完整的类名(空间名+类名)
            Pay p = (Pay)(a.CreateInstance("ICBC." + ClassName));

            p.SayHello();
------解决方案--------------------
Activator.CreateInstance(assemblyName,typeName);