例如:
string strClassName = "myClass";
我能不能通过strClassName 这个变量,声明一个myClass类型的对象
类似 myClass a = new myClass();,只是类型名myClass 存储在字符串中。这个应该怎么做?
string strClassName = "myClass";
我能不能通过strClassName 这个变量,声明一个myClass类型的对象
类似 myClass a = new myClass();,只是类型名myClass 存储在字符串中。这个应该怎么做?
Type typObject = Type.GetType( "myClass" );
object = typObject.InvokeMember(null,
BindingFlags.DeclaredOnly |
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null);
Type typObject = Type.GetType( "myClass" );
object = typObject.InvokeMember(null,
BindingFlags.DeclaredOnly |
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null);
Top是不是这个object就是我要的myClass,可是我在使用myClass中的方法时,我总要把object转换成myClass,这时候我如何获得这个类型的名字呢?
自己做switch转换,其缺点不灵活。方法二
把所有操作抽象出来,用抽象类或者接口来实现,那么把产生的object转化成抽象类或者接口对象进行操作。
方法一
自己做switch转换,其缺点不灵活。方法二
把所有操作抽象出来,用抽象类或者接口来实现,那么把产生的object转化成抽象类或者接口对象进行操作。我觉得方法二可行,我试试,可是Type typObject = Type.GetType( "myClass" );我得到的typObject 总是NULL,可是myClass确实存在,直接实例化OK,是不是还有什么要做的,谢谢