C# Castle Windsor寄存器及其在构造函数上传递的实现
在Castle Windsor中,我希望将特定的具体实现传递到容器注册类的构造函数中。类似这样(我知道最后的语法是非法的;-):C# Castle Windsor寄存器及其在构造函数上传递的实现,c#,.net,castle-windsor,castle,C#,.net,Castle Windsor,Castle,在Castle Windsor中,我希望将特定的具体实现传递到容器注册类的构造函数中。类似这样(我知道最后的语法是非法的;-): var myConfig=new myConfig(); 容器寄存器(组件 .对于() .由()实施 .参数(myConfig); 创建任何连接器时,是否都可以传入myConfig?这可能吗 (连接器有一个将MyConfig作为参数的构造函数)是,您可以这样做: container.Register(Component .For<IConnector
var myConfig=new myConfig();
容器寄存器(组件
.对于()
.由()实施
.参数(myConfig);
创建任何连接器时,是否都可以传入myConfig?这可能吗
(连接器有一个将MyConfig作为参数的构造函数)是,您可以这样做:
container.Register(Component
.For<IConnector>()
.ImplementedBy<Connector>()
.ServiceOverrides(
ServiceOverride
.ForKey("myConfig")
.Eq("NameYouGaveMyConfigWhenRegisteringInCastle"));
container.Register(组件
.对于()
.由()实施
.ServiceOverrides(
服务覆盖
.ForKey(“myConfig”)
.Eq(“NameYouGaveMyConfigWhenRegisteringInCastle”);
ForKey(“…”)是传递到MyConfig连接器的参数的确切名称
等式(“…”)是您在注册MyConfig时给出的名称:
container.Register(Component
.For<IMyConfig>()
.ImplementedBy<MyConfig>()
.Named("config");
container.Register(组件
.对于()
.由()实施
。命名为(“配置”);
所以你要在“配置”中输入“NameYouGaveMyConfig…”是的,你可以这样做:
container.Register(Component
.For<IConnector>()
.ImplementedBy<Connector>()
.ServiceOverrides(
ServiceOverride
.ForKey("myConfig")
.Eq("NameYouGaveMyConfigWhenRegisteringInCastle"));
container.Register(组件
.对于()
.由()实施
.ServiceOverrides(
服务覆盖
.ForKey(“myConfig”)
.Eq(“NameYouGaveMyConfigWhenRegisteringInCastle”);
ForKey(“…”)是传递到MyConfig连接器的参数的确切名称
等式(“…”)是您在注册MyConfig时给出的名称:
container.Register(Component
.For<IMyConfig>()
.ImplementedBy<MyConfig>()
.Named("config");
container.Register(组件
.对于()
.由()实施
。命名为(“配置”);
所以你在“配置”中输入了“NameYouGaveMyConfig…”