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]