因为我使用这个方法的类都是和AbstractScenePageDTO处于一个命名空间以及程序集下的,所以获取命名空间和程序集的时候,直接使用AbstractScenePageDTO这个类进行获取,这样更准确一些,也不怕项目迁移改名。
1 private T CreateActivityScenePageByKey<T>(string key) where T:AbstractScenePageDTO
2 {
3 //(基类)Assembly.Load("当前程序集名称").CreateInstance("命名空间.子类名称"));
4 T x = (T)Assembly.Load(typeof(AbstractScenePageDTO).Assembly.GetName().Name)
5 .CreateInstance((typeof(AbstractScenePageDTO).Namespace + "." + string.Format("{0}DTO", key)));
6 return x;
7 }
http://blog.csdn.net/jzaicn/article/details/21284043
获取类型的写法从这里看来的
//反射机制 //参数 object[] parameters = new object[1]; parameters[0] = _rowDataFromCore; //(基类)Assembly.Load("当前程序集名称").CreateInstance("命名空间.子类名称")); type = (ATypeBase)Assembly.Load(typeof(ATypeBase).Assembly.GetName().Name) .CreateInstance(typeof(ATypeBase).Namespace + "." + string.Format("A{0}", typeName) ,false,System.Reflection.BindingFlags.Default ,null,parameters,null,null);