C# 在Castle Windsor中使用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和返回实例(参数)); 我需要在运行时发送

如何使用FactoryMethod将动态参数传递给
注册

例如,我想写一些类似于:

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(参数);
}));

根据上述问题,您能给出一个用法示例吗?