获取在新AppDomain中加载的程序集的类型

时间:2011-12-26 17:21:25

标签: c# reflection appdomain

我正在使用this method to create the object I want to

成功调用对象的构造函数。

现在,我想通过反射调用一个方法,但正如我发现的那样,我需要知道类型。当我做像

这样的事情
Type type = Type.GetType(this.typeName);

type为空。

所以,我需要知道的是:如何获取在新AppDomain中加载的程序集的类型?

3 个答案:

答案 0 :(得分:2)

您需要使用完整的程序集限定名称,以便可以使用Type.GetType()

重新创建它
this.typeName = typeof(MyClass).AssemblyQualifiedName;

如果没有这个,将在执行程序集中搜索并不总是包含您的类型的类型。

答案 1 :(得分:0)

System.type类型对象本身就是一个对象,其中有一个类型对象指针成员,它的成员引用自身,因为System.Type类型对象本身就是一个类型对象的“实例”。 System.Object的GetType方法返回存储在指定对象的类型对象指针成员中的地址。换句话说,GetType方法返回指向对象类型对象的指针,这就是如何确定系统中任何对象的真实类型。

使用System.Reflection.AssemblyName是一个实用程序类,它可以完整地为您提供程序集的唯一标识的完整详细信息。使用此Class的GetType方法来了解已加载程序集的类型。

http://msdn.microsoft.com/en-us/library/system.object.gettype.aspx

答案 2 :(得分:0)

以下是我如何解决问题: 我创建了一个接口,并使用typeof(MyInterface)来工作arround。

我希望这可以帮到你。