title: Why can my WindsorContainer not resolve IWindsorContainer?
body: <p>This example is not using best practice by using IServiceLocator to wrap my Container but it has me a bit baffled. </p>
  
  <p>I thought that the WindsorContainer could automatically resolve itself as IWindsorContainer?</p>
  
  <pre><code>var container = new WindsorContainer();
  
  container.Register(Component.For&lt;INeedWindsorContainer&gt;()
      .ImplementedBy&lt;GiveMeWindsorContainer&gt;()
      .LifeStyle.Singleton);
  </code></pre>
  
  <p>Implementation of INeedWindsorContainer:</p>
  
  <pre><code>public class GiveMeWindsorContainer : INeedWindsorContainer
  {
      IWindsorContainer _container;
  
      public GiveMeWindsorContainer(IWindsorContainer container)
      {
          _container = container;
      }
  }
  </code></pre>
  
  <p>This could however does not work, because WindsorContainer does not know how to resolve IWindsorContainer!</p>
  
  <p>Of course the immediate solution I came up with was:</p>
  
  <pre><code>var container = new WindsorContainer();
  
  container.Register(
       Component.For&lt;IWindsorContainer&gt;()
          .Instance(container)
          .LifeStyle.Singleton,
       Component.For&lt;INeedWindsorContainer&gt;()
          .ImplementedBy&lt;GiveMeWindsorContainer&gt;()
          .LifeStyle.Singleton);
  </code></pre>
  
  <p>However this seems a bit odd to me, am I doing something wrong?</p>