-2
String name = "register";
Class<?> classObj = Class.forName(name);
stateComponent = (IState) classObj.newInstance();

这是我在 java 中创建动态类的代码。任何人都可以让我开始如何在 C# 中创建一个动态类吗?

4

2 回答 2

3

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]);
于 2013-07-21T14:20:29.193 回答
0
Activator.CreateInstance(Type.GetType("Here your type name"));
于 2013-07-21T15:00:05.663 回答