使用Assembly.GetType("MyCompany.Class1.Class2")返回null

Kev*_*vin 13 .net c#

我正在尝试使用Assembly.GetType("MyCompany.Class1.Class2")从字符串中动态获取类型.

Assembly.GetType("MyCompany.Class1");
Run Code Online (Sandbox Code Playgroud)

按预期工作.

如果我在另一个类中嵌入一个类,例如:

namespace MyCompany
{
  public class Class1
  {
     //.....
     public class Class2
     {
        //.....
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

并尝试获取类型Class2

Assembly.GetType("MyCompany.Class1.Class2") 
Run Code Online (Sandbox Code Playgroud)

将返回null.

我正在使用.NET Frameworks 3.5 SP1

有谁知道我做错了什么,我能做些什么来解决这个问题?

提前致谢

凯文D.沃尔夫坦帕,佛罗里达州

CMS*_*CMS 18

您需要使用Plus符号来使用Assembly.GeType来映射嵌套类.

 Assembly.GetType("MyCompany.Class1+Class2");
Run Code Online (Sandbox Code Playgroud)


pli*_*nth 5

我认为它的名字叫MyComnpany.Class1 + Class2.

如果我在类似的结构上运行此代码,那就是我所看到的:

Assembly assem = Assembly.GetExecutingAssembly();
Type[] types = assem.GetTypes();
Run Code Online (Sandbox Code Playgroud)

示例用于查看名称的类型.