title: How does Classes.FromAssembly(typeof(Contants).Assembly).BasedOn(typeof(ISource)).WithServiceBase() inject ISource?
body: <p>I read the following code which has <code>ISource</code> injected.</p>
  <pre><code>public class X
  {
      public X(ISource[] sources)
      {
          this.Sources = sources
  </code></pre>
  <p>And I found the following Castle Windsor code.</p>
  <pre><code>public void Install(IWindsorContainer container, IConfigurationStore store)
  {
      container.Register(
          Classes.FromAssembly(typeof(Contants).Assembly)
          .BasedOn(typeof(ISource)).WithServiceBase(),
  </code></pre>
  <p>How to understand the code?</p>
  <p>There is a class implement the interface</p>
  <pre><code>public class ASource : ISource
  {
      public ASource(IX x, IY y, IZ z)
      {
          this.x = x;
          this.y = y;
          this.z = z;
      }
  </code></pre>
  <p>How does <code>x</code>, <code>y</code>, and <code>z</code> get injected?</p>