我正在更换 Prism 4 中的标准 Unity 容器,并在我的模块初始化时遇到问题。在我使用注入 IUnityContainer 之前,这让我可以从我的模块中注册其他类型,一切都很好。
现在我正在注入一个 AutoFac.IContainer 并且它没有我需要的 RegisterType 方法。它们位于 ContainerBuilder 类中。
所以简单的问题是如何在加载模块时将类型注册到我的主容器中。
谢谢克雷格
标准的 Autofac 方式是将您的模块构建为IModule
类,使用builder.RegisterModule
将它们加载到您的容器中作为注册过程的一部分。
如果你已经有一个容器并且需要向它添加注册,你可以ContainerBuilder
像这样再次使用:
var cb = new ContainerBuilder();
cb.Register(...);
...
cb.Update(existingContainer);