我有一个班和一个副班
namespace MyCode
{
public class Class1
{
int a = 1;
int b = 2;
public class SubClass1
{
int a = 1;
int b = 2;
}
}
}
现在我需要用字符串名实例化每个类。我可以在类中执行此操作,但不能在子类中执行此操作。
这是有效的:
var myObj = Activator.CreateInstance(Type.GetType("MyCode." + "Class1"));
但这不起作用:
var myObj = Activator.CreateInstance(Type.GetType("MyCode." + "Class1.SubClass1"));
第二个选择我需要做什么?
最佳答案
当你不知道名字应该是什么时,你可以通过检查typeof(MyCode.Class1.SubClass1).FullName
来看到名字。
如果有子类,则使用+
符号。
var myObj = Activator.CreateInstance(Type.GetType("MyCode." + "Class1+SubClass1"));