将参数传递给Castle Windsor中的UsingFactoryMethod
如何将动态参数传递给UsingFactoryMethod
注册?
例如,我想写一些类似的东西:
container.Register( Component.For() .UsingFactoryMethod(return DoSomethingAndReturnInstance(paremeter)));
我需要在运行时发送参数,如下所示:
container.Resolve(new { parameter = value });
怎么做到呢?
CreationContext.AdditionalParameters
具有您传递给Resolve
的值
你只需要使用
container.Register( Component.For() .UsingFactoryMethod((kernel, creationContext) => { var parameter = creationContext.AdditionalArguments["parameter"]; return DoSomethingAndReturnInstance(parameter); }));