将类名放于配置文本文件中, 取出在程序中去实例化.
如题, 我的程序可以访问class1, class2这两个类.把这两个类的类名存于配置文件中.但些时要访问那一个类呢, 就去读取配置文件, 然后实例该类.
当是从配置文件中去读取时, 得到了是一个字符串 "class1".
我的程序如何去实例呢? 如何将这个字符串,变为: class1 c1 = new class1();
谢谢. --------------------编程问答-------------------- 设置索引
1-------“class1”
2-------“class2” --------------------编程问答-------------------- 直接存储class1 c1 = new class1()这个的了,这样实例化的变量也可以改变 --------------------编程问答-------------------- 使用反射...去看MSDN...
另外在配置文件中存储时只有类名是不够的,要保存包含assembly和namespace在内的全名,类似...
type="MyNamespace.MyClassName, MyAssemblyName" --------------------编程问答-------------------- (class1)Assembly.Load(typeof(class1).Namespace).CreateInstance(typeof(class1).Namespace+"." + "class1"); --------------------编程问答-------------------- 楼上的:(class1)Assembly.Load(typeof(class1).Namespace).CreateInstance(typeof(class1).Namespace+"." + "class1");
不也先要知道是class1了.
(class1)Assembly 这个就已指定了要强转的类型了. --------------------编程问答-------------------- 用反射 --------------------编程问答-------------------- (class1)Assembly
这个强转, 就是已知道是class1。 但是我现在“class1”是字符串。 --------------------编程问答-------------------- 要么你再有一个class1的基类,对基类操作,要么全反射
补充:.NET技术 , C#