C# 在Castle Windsor中使用FactoryMethod传递参数
如何使用FactoryMethod将动态参数传递给C# 在Castle Windsor中使用FactoryMethod传递参数,c#,.net,castle-windsor,ioc-container,castle,C#,.net,Castle Windsor,Ioc Container,Castle,如何使用FactoryMethod将动态参数传递给注册 例如,我想写一些类似于: container.Register( Component.For<IFoo>() .UsingFactoryMethod(return DoSomethingAndReturnInstance(paremeter))); container.Register( 用于()的组件 .使用FactoryMethod(返回doSomethin和返回实例(参数)); 我需要在运行时发送
注册
例如,我想写一些类似于:
container.Register(
Component.For<IFoo>()
.UsingFactoryMethod(return DoSomethingAndReturnInstance(paremeter)));
container.Register(
用于()的组件
.使用FactoryMethod(返回doSomethin和返回实例(参数));
我需要在运行时发送参数,如下所示:
container.Resolve<IFoo>(new { parameter = value });
container.Resolve(新的{parameter=value});
如何操作?CreationContext。其他参数
具有传递给Resolve
的值,您只需使用
container.Register(
Component.For<IFoo>()
.UsingFactoryMethod((kernel, creationContext) =>
{
var parameter = creationContext.AdditionalArguments["parameter"];
return DoSomethingAndReturnInstance(parameter);
}));
container.Register(
用于()的组件
.UsingFactoryMethod((内核,creationContext)=>
{
var参数=creationContext.AdditionalArguments[“参数”];
return DoSomethingAndReturnInstance(参数);
}));
根据上述问题,您能给出一个用法示例吗?