使用基于类名的反射来实例化来自不同.dll的类?

时间:2011-04-15 07:14:00

标签: c# reflection

有没有办法在不使用dll = Assembly.LoadFile(@"c:\Test.dll");的情况下从不同的项目/ .dll实例化基于它的名称并执行dll.CreateInstance(className);

我希望能够加载在我的应用程序中实现通用接口的不同类,而无需重新编译(类似于插件)。 dll位于应用程序路径中。

2 个答案:

答案 0 :(得分:1)

您需要知道从以某种方式加载哪个程序集...然后您可以使用Type.GetType(name),其中您传递的名称也使用程序集名称限定。< / p>

答案 1 :(得分:0)

我认为除了只查找和打开目录中的每个Dll之外,没有任何方法可以基于类名或类实现的接口来查找Dll。您可以使用ReflectionOnlyLoad*方法在查找正确的Dll时减少一些开销。