title: Simple Injector 3 does not return general instances
body: <p>I am using Simple Injector and just updated from v2 to v3.
  I am using the DI container to resolve associated event handlers to an event.</p>
  
  <p>All EventHandlers implement the interface <code>IDomainEventHandler</code> and all events implement <code>IDomainEvent</code>.</p>
  
  <p>The EventHandlers are registered:</p>
  
  <pre><code>container.Register(typeof(IDomainEventHandler&lt;&gt;),
      new[] { typeof(IDomainEventHandler).Assembly });
  </code></pre>
  
  <p>I collect all handlers to a certain event like so:</p>
  
  <pre><code>public void Dispatch&lt;TDomainEvent&gt;(TDomainEvent domainEvent) 
      where TDomainEvent : IDomainEvent
  {
      var eventHandlers =
          _dependencyResolver.GetAllInstances&lt;IDomainEventHandler&lt;TDomainEvent&gt;&gt;();
  
      foreach (var domainEventHandler in eventHandlers)
          domainEventHandler.Handle(domainEvent); 
  }
  </code></pre>
  
  <p>I have a general event handler, which handles all events who implements <code>IDomainEvent</code> interface. It is defined like this:</p>
  
  <pre><code>public class EventStoreDomainEventHandler : IDomainEventHandler&lt;IDomainEvent&gt;
  {
      public void Handle(IDomainEvent domainEvent)
      { ... }
  }
  </code></pre>
  
  <p>When I try to get all instances from the DI container of a certain event which implements the <code>IDomainEvent</code> interface, I don't receive an instance of the <code>EventStoreDomainEventhandler</code>.</p>
  
  <p>Is there a way to register and get all handlers of a type, and also all handlers associated to interfaces implemented by the type?</p>
  
  <p>Hope it makes sense :o)</p>
  
  <p>Kind Regards
  Frederik</p>