<分区>
有没有办法在 C# 中不使用 new 关键字来创建对象,比如 class.forname(); 在 Java 中。
我想动态创建一个类的对象。对象的创建可能取决于用户的输入。
我有一个基类 x,它有 5 个子类(a、b、c、d、e)。我的用户输入将是 a 或 b 或...e 类名。使用这个我需要创建那个类的对象。我该怎么做
标签 c# new-operator
<分区>
有没有办法在 C# 中不使用 new 关键字来创建对象,比如 class.forname(); 在 Java 中。
我想动态创建一个类的对象。对象的创建可能取决于用户的输入。
我有一个基类 x,它有 5 个子类(a、b、c、d、e)。我的用户输入将是 a 或 b 或...e 类名。使用这个我需要创建那个类的对象。我该怎么做
最佳答案
您可以使用 Activator class .
Type type = typeof(MyClass);
object[] parameters = new object[]{1, "hello", "world" };
object obj = Activator.CreateInstance(type, parameters);
MyClass myClass = obj as MyClass;
关于c# - 在不使用 new 关键字的情况下在 C# 中创建对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049193/