Everything works as designed.

You're not registering those types as ITransformer, hence you can't resolve them as ITransformer

K

On 24/12/2011 12:07 AM, StuartM wrote:
Newbies question peeps so please don't flame me if its not relevant!

I have added an installer class which correctly installs a set of
handlers based on ITransformer interface.

Heres the code for the installer:

  public class TransformerInstaller : IWindsorInstaller
     {
         public void Install(IWindsorContainer container,
IConfigurationStore store)
         {
             var types = AllTypes.FromThisAssembly()
                                     .BasedOn<ITransformer>()
                                     .Configure(r =>
r.Named(r.Implementation.Name));
             container.Register(types);
         }
     }

I then runup a test which creates the container as follows:

_container = new WindsorContainer();
_container.Install(new TransformerInstaller());

I then try to find my 1 interface in the following ways:

var resolved =
_container.Resolve<ITransformer>("TransFormerClassName");
var resolvedStuff = _container.ResolveAll<ITransformer>();
var resolvedNamedStuff =
_container.ResolveAll<ITransformer>("TransFormerClassName");

resolved correctly points to the transformer
resolvedStuff and resolvedNamedStuff are both zero length arrays.

Surely ResolveAll should resolve all interfaces of this type?  Or am I
missing something.

This is using 3.0 on an Windows7 platform under .Net4


--
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