String name = "register";
Class<?> classObj = Class.forName(name);
stateComponent = (IState) classObj.newInstance();
这是我在java中创建动态类的代码。谁能给我一个开始如何在 c# 中制作动态类?
与
Java的Class<T>
对应的C#类是System.Type
。与 Java 不同,Type
不是泛型的(它不需要是泛型的,因为 .NET 不使用类型擦除来实现泛型(。
您的 Java 代码翻译如下:
string name = "..."; // Full name of your class
Type typeObj = Type.GetType(name);
// Get the default constructor
ConstructorInfo constr = typeObj.GetConstructor(new Type[0]);
// Invoke the constructor to create the object
stateComponent = (IState)constr.Invoke(new object[0]);
Activator.CreateInstance(Type.GetType("Here your type name"));