我有一个Class和一个Sub Clas
namespace MyCode
{
public class Class1
{
int a = 1;
int b = 2;
public class SubClass1
{
int a = 1;
int b = 2;
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我需要按字符串名称实例化每个类.我可以从类中完成此操作,但不能用于子类.
这有效:
var myObj = Activator.CreateInstance(Type.GetType("MyCode." + "Class1"));
Run Code Online (Sandbox Code Playgroud)
但是,这不行:
var myObj = Activator.CreateInstance(Type.GetType("MyCode." + "Class1.SubClass1"));
Run Code Online (Sandbox Code Playgroud)
我需要为第二种选择做什么?
每当您不知道名称应该是什么时,您可以通过检查来查看名称typeof(MyCode.Class1.SubClass1).FullName.
当你有一个子类时,你使用+符号.
var myObj = Activator.CreateInstance(Type.GetType("MyCode." + "Class1+SubClass1"));
Run Code Online (Sandbox Code Playgroud)
var myObj = Activator.CreateInstance(Type.GetType("MyCode.Class1+SubClass1"));
Run Code Online (Sandbox Code Playgroud)
它+在处理嵌套类型时,不是.
| 归档时间: |
|
| 查看次数: |
138 次 |
| 最近记录: |