title: Registering a type with multiple constructors and string dependency in Simple Injector
body: <p>I'm trying to figure out how to use Simple Injector, I've used it around the project with no problems registering simple services and their components.</p>
  
  <p>However, I wanted to use dependency injector when having a component with more than two constructors that implements an interface.</p>
  
  <pre><code>public DAL: IDAL
  {
      private Logger logger;
      string _dbInstance;
      public DAL()
      {
          logger = new Logger();
      }
  
      public DAL(string databaseInstance)
      {
           logger = new Logger();
           _dbInstance = databaseInstance;
      }
  }
  </code></pre>
  
  <p>Here is how I'm registering the services:</p>
  
  <pre><code>container.Register&lt;IDAL, DAL&gt;();
  </code></pre>
  
  <p>running the code, this is the error that happens:</p>
  
  <blockquote>
    <p>For the container to be able to create DAL, it should contain exactly
    one public constructor, but it has 2.</p>
  </blockquote>
  
  <p>After removing the constructor, the next error is that it doesn't allow my constructor to accept a parameter.</p>
  
  <blockquote>
    <p>The constructor of type DAL contains parameter 'databaseInstance' of
    type String which can not be used for constructor injection.</p>
  </blockquote>
  
  <p>Is there any way where I can do dependency injection where the class has more than 2 public constructors? Or having one public constructor that accepts a parameter?</p>
  
  <p>I read the documentation here: <a href="http://simpleinjector.codeplex.com/wikipage?title=Using%20the%20Simple%20Injector&amp;referringTitle=Documentation" rel="noreferrer">SimpleInjector (Getting Started)</a></p>
  
  <p>The document starts of easy to understand, but it gets exponentially complex and I'm having a tough time trying to decipher if any of the latter examples they mention relate to my issue.</p>