title: Ninject and private constructors
body: <p>We're using Ninject for IOC.</p>
  
  <p>All of our Repository objects can (and should be) mocked for unit testing.  I'd like to enforce that all developers code only to interfaces when interacting with Repositories.  For this, I'd like to make the constructors private and create static accessor factory methods for construction:</p>
  
  <pre><code>public class SomeRepository : ISomeRepository
  {
   private SomeRepository()
   {
   }
   public static ISomeRepository Create()
   {
     return StandardKernel.Get&lt;ISomeRepository&gt;();
   }
  }
  </code></pre>
  
  <p>Problem lies in this: how do I have Ninject create the actual object?  I have repository interface and class in the same project</p>