有问题的行走类型与反思



因此,尝试遍历类型以寻找具有接口的类。

方法:

var assemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach(...)
var types=assembly.GetTypes();

例外:

{"无法加载一个或多个请求的类型。有关详细信息,请检索LoaderExceptions属性。"}

LoaderExceptions的内容:{"程序集"namespaceinfo.Importer,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null"中类型"namespaceinfo.ImportR"中的方法"Do"没有实现。":"namespaceinfo.ImportR"}

迄今为止在so上发现的信息——

  • 按需提供类型/程序集中的净负载。也许还没有加载依赖项。

  • 。。。目前仅此而已。

在花了几个小时研究这件事之后,我开始认为,在某些情况下,用属性装饰课程,然后出于某些原因步行可能是个坏主意。显然,其他服务可以成功地做到这一点。我错过了什么?像Fluent这样的东西有没有智能实现,我应该看看?


到目前为止,答案是不要遍历某个特定程序集中的类型。即过滤掉

我会亲自深入研究StructureMap或另一个依赖注入容器内部的代码。

您似乎正在尝试在运行时加载特定接口的实现。大概是为了创建实例并在应用程序中使用它们。如果是这样的话,那么我建议使用像MEF这样的框架,而不是手动滚动。

  • http://msdn.microsoft.com/en-us/magazine/ee291628.aspx

相关内容

  • 没有找到相关文章

最新更新