title: Registering generic type with multiple constructors
body: <p>I am trying to move from Unity to Simple Injector and having trouble getting the Injection to work with Simple Injector.</p>
  
  <p>Working Unity code is below</p>
  
  <pre><code>var container = new UnityContainer();
  DependencyResolver.SetResolver(new UnityDependencyResolver(container));
  
  container.RegisterType(
      typeof(ICacheManager&lt;&gt;),
      new ContainerControlledLifetimeManager(),
      new InjectionFactory((c, targetType, name) =&gt;
          CacheFactory.FromConfiguration(targetType.GenericTypeArguments[0], "myCache")));
  </code></pre>
  
  <p>My Attempts:</p>
  
  <pre><code>var registration = Lifestyle.Singleton.CreateRegistration(
      typeof(ICacheManager&lt;&gt;),
      typeof(BaseCacheManager&lt;&gt;), 
      container);
  
  container.AddRegistration(
      serviceType: typeof(BaseCacheManager&lt;&gt;),
      registration: registration);
  </code></pre>
  
  <p>I am getting the following error</p>
  
  <blockquote>
    <p>For the container to be able to create <code>BaseCacheManager&lt;Object&gt;</code> it should have only one public constructor</p>
  </blockquote>