我正在尝试使用Assembly.GetType(“MyCompany.Class1.Class2”)从字符串中动态获取类型。
Assembly.GetType("MyCompany.Class1");
按预期工作。
如果我将一个类嵌入另一个类中,例如:
namespace MyCompany
{
public class Class1
{
//.....
public class Class2
{
//.....
}
}
}
并尝试获取类型Class2
Assembly.GetType("MyCompany.Class1.Class2")
将返回null。
我正在使用.NET Frameworks 3.5 SP1
有谁知道我做错了什么以及我能做些什么来解决这个问题?
提前致谢
凯文D.沃尔夫 坦帕,佛罗里达州答案 0 :(得分:18)
您需要使用Plus符号来使用Assembly.GeType来映射嵌套类。
Assembly.GetType("MyCompany.Class1+Class2");
答案 1 :(得分:5)
我认为它名为MyComnpany.Class1 + Class2。
如果我在类似的结构上运行此代码,那就是我所看到的:
Assembly assem = Assembly.GetExecutingAssembly();
Type[] types = assem.GetTypes();
示例查看名称的类型。
答案 2 :(得分:4)
你需要使用加号。像“MyAssembly.Class1 + NestedClass”这样的东西。