我使用Type.GetType函数获取有关类的反射信息。如果我使用我的应用程序中的函数,一切正常,但现在我需要从以前从我的应用程序加载的外部dll调用该函数。
如果主应用程序调用该代码,则此代码运行良好。
Type myType1 = Type.GetType("MyNameSpace.MyType");但是如果代码放在dll中(该dll是从我的应用程序加载的),则失败(myType1什么也不返回)。
问题是如何使用Type.GetType来加载存在于加载dll的Exe中的类型?
编辑:
我认为哪一个问题可以重新表述,比如我如何从加载我的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?发布于 2012-05-22 18:46:57
在使用项目范围外的DLL时,需要使用完全限定的名称
Type myType1 = Type.GetType("MyType, MyNameSpace", true, true);试试看
发布于 2012-05-22 19:00:26
还可以通过Assembly.Load方法加载程序集,然后枚举all (GetTypes())或从程序集中获取特定类型。看一看大会课
https://stackoverflow.com/questions/10707881
复制相似问题