Sunday, March 6, 2011

Castle Windsor: How to programatically pass a list parameter to the container?

Is it possible to pass a list constructor parameter when resolving a type? I want to use a programmatic configuration if possible. I've been playing around with the Parameters method as shown below, but I've not yet stumbled upon the answer.

container.Register(
    Component
    .For<IDoSomething>()
    .ImplementedBy<DoSomething>()
    .Parameters(...)
);

The DoSomething class would look something like this

public class DoSomething : IDoSomething
{
    public DoSomething(List<string> listOfStrings) 
    {
        ...
    }
}
From stackoverflow
  • Aha!

    container.Register(
        Component
        .For<IDoSomething>()
        .ImplementedBy<DoSomething>()
        .Parameters(new { listOfStrings = someList })
    );
    
    Igor Brejc : -1 for not providing a real-life solution example...

0 comments:

Post a Comment