【发布时间】:2020-03-02 03:50:00
【问题描述】:
我有一个 Prism WPF 应用程序(使用 Unity),它加载了几个模块,每个模块都注册了一个实现公共接口的对象。
在关闭时,我希望我的应用能够解析所有已加载模块注册的接口的所有实现。
我意识到我可以让每个模块注册一个单独的命名实例,例如
container.RegisterType<IFoo, Foo1>("registration1");
container.RegisterType<IFoo, Foo2>("registration2");
但我的应用程序不知道字符串“registration1”或“registration2”,也不关心。它甚至不知道最终会加载哪些模块。它只是想获取接口的一个实例并调用一个函数。
有没有一种方法可以让IContainerProvider 在不知道用于注册它们的名称的情况下“给我每个单独注册 IFoo 的实例”?
【问题讨论】:
标签: prism