xufei0110 发表于 2013-2-4 22:15:16

c# 通过反射 实例化类

1. 用Type
   在 website 下
string UserDaoPath = System.Configuration.ConfigurationSettings.AppSettings["UserDao"];UserDao userDao = (UserDao)Type.GetType(UserDaoPath).            GetConstructor(System.Type.EmptyTypes).Invoke(null );  
  如果构造方法有参数的话,这样。
//定义参数类型数组Type[] tps = new Type;tps = typeof(int);tps = typeof(string);//定义参数数组object[] obj = new object;obj = (object)100;obj = (object)"Param Example";string UserDaoPath = System.Configuration.ConfigurationSettings.AppSettings["UserDao"];UserDao userDao = (UserDao)Type.GetType(UserDaoPath).            GetConstructor(tps).Invoke(obj );  
 
<appSettings >    <add key="UserDao" value="UserDao"></add>   </appSettings> 2. 用Assembly
   在 website 下  这个是导入一个 程序集 然后在程序集里再 实例化类, 我这里其实就是实例化一个类。
 
string UserServicePath = System.Configuration.ConfigurationSettings                                        .AppSettings["UserService"];UserService userService = (IUserService)Assembly.Load(UserServicePath).            CreateInstance("UserService"); 
<appSettings >    <add key="UserService" value="App_Code.Service.UserService"></add></appSettings>
页: [1]
查看完整版本: c# 通过反射 实例化类