String name = "register";
Class<?> classObj = Class.forName(name);
stateComponent = (IState) classObj.newInstance();
这是我在 java 中创建动态类的代码。任何人都可以让我开始如何在 C# 中创建一个动态类吗?
String name = "register";
Class<?> classObj = Class.forName(name);
stateComponent = (IState) classObj.newInstance();
这是我在 java 中创建动态类的代码。任何人都可以让我开始如何在 C# 中创建一个动态类吗?
C# 中对应于 Java 的类Class<T>
是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"));