如何获取主程序集中加载的类的反射信息

本文关键字:加载 反射 信息 集中 主程序 何获取 获取 | 更新日期: 2023-09-27 18:34:55

我正在使用Type.GetType函数来获取有关类的反射信息。 如果我从我的应用程序中使用该函数,一切正常,但现在我需要从以前从我的应用程序加载的外部DLL调用该函数。

如果从主应用程序调用,则此代码工作正常

Type myType1 = Type.GetType("MyNameSpace.MyType");

但如果将该代码放入 DLL 中(该 DLL 是从我的应用程序加载的(,则会失败(myType1 不返回任何内容(

问题是我如何使用Type.GetType加载 Exe 中存在的加载 dll 的类型?

编辑:

我认为这个问题可以像 如何从加载 DLL 的程序集加载类型?

MyEXE
  Myclass   
  MyDll (loaded by MyExe)
    Type.GetType //only get types of the MyDll assembly, how i can access the Myclass type which is defined on MyExe?

如何获取主程序集中加载的类的反射信息

在项目范围之外使用 DLL 时,需要使用完全限定名称

Type myType1 = Type.GetType("MyType, MyNameSpace", true, true);

试一试

您还可以通过 Assembly.Load 方法加载程序集,然后枚举所有 (GetTypes((( 或从程序集获取特定类型。 只需看看程序集类