take a look at 
http://stw.castleproject.org/Windsor.Typed-Factory-Facility-interface-based-factories.ashx

On Dec 3, 5:19 pm, aay <[email protected]> wrote:
> Hi guys,
>
> Sorry if this is answered anywhere, but I've spent a good deal of time
> trying to find information on the issue at hand and failed to do so.
>
> I want to use Windsor to register a factory method that can be later
> used with a runtime parameter to get a proper instance of an object.
> Something like this:
>
> enum EngineType{
>   One,
>   Two,
>   Three
>
> }
>
> interface IEngine {
>   bool Run();
>
> }
>
> class Factory{
>   IEngine ResolveEngine(EngineType engineType){
>      switch (engineType){
>         case EngineType.One:
>            return new EngineOne();
>         case EngineType.Two:
>            return new EngineTwo();
>         case EngineType.Three:
>            return new EngineThree();
>      }
>   }
>
> }
>
> So, my problem - is there any way to register Factory.ResolveEngine
> method with Windsor, so I can do something like that in my code at the
> time of execution:
>
> EngineType eType = EngineType.Two;
> var engine = container.Resolve<IEngine>(eType);
> engine.Run();
>
> Any help would be appreciated. Thanks in advance.
>
> Alex

-- 
You received this message because you are subscribed to the Google Groups 
"Castle Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-users?hl=en.

Reply via email to