要创建类的实例,我们可以这样做:
Person p = new Person();
但是,我想用类似的字符串传递类dynamicate的名称:
String name = "Human.Person"
name n = new name();
我知道这是错的,但我看到我可以使用反射,但我不明白如何将它用于我的情况。
答案 0 :(得分:2)
您可以在此方案中使用Activator.CreateInstance。
# array: [-2, 0, 1, 3]
# target: 2
# => 2
# array: [-3, 4, -4, 1, -1, -2, -1, -1, -5]
# target: -3
# => 48
或最常使用基类或接口:
ViewContainerRef.createComponent()
答案 1 :(得分:1)
Type t = Type.GetType(name);
Human.Person p = Activator.CreateInstance(t) as Human.Person;
更新: 谢谢@Dag 如果Human.person在另一个程序集中
Type t = a.GetType(name, "assemblyName");
Human.Person p = Activator.CreateInstance(t) as Human.Person;