1
注册一个运行时依赖在代码我重构,我有以下情况:在温莎城堡
void Plugin(IExternalService service)
{
var facade = new Facade(
new ExternalServiceWrapper(service),
new Dependency1(),
new Dependency2());
}
凡Dependency1
和Dependency2
是IDependency1
和IDependency2
实现。
如何将此转换为Windsor安装程序中的注册?我似乎无法想象我们如何将IExternalService
的实例传递给容器。
编辑我不控制插件的创建。我想用它作为组合根来连接所有的依赖关系。
目前还不清楚你要完成的任务。你想让容器调用Plugin方法,还是要从Plugin方法中调用容器? – 2011-05-21 15:41:08
我试图让'Facade'的所有依赖关系(实现'IFacade'解决了Windsor的问题。插件的入口点必须是我的组合根,它在运行时有时会发生,我不能控制它。 – 2011-05-21 15:56:50
所以其实你不会调用'新门面',而是'container.Resolve()'? –
2011-05-21 16:03:32