title: Ninject GetAll Where Module = foo
body: <p>Is it possible to do something like this:</p>
  
  <p><code>var foos = Kernel.where(c=&gt;c.module == myModule).GetAll&lt;foo&gt;;</code></p>
  
  <p>And how would one go about it?</p>
  
  <p>If(!possible)<br>
  How can you discriminate between bindings to the same interface when using the GetAll() method?<br>
  I am aware of <code>WithParameter</code>, <code>WithMetadata</code>, <code>WithConstructorArgument</code> and <code>WithPropertyValue</code>; Which one should i use and why?</p>
  
  <p>Cheers</p>
  
  <hr>
  
  <p><strong>More information</strong></p>
  
  <p>I need this because I am creating a plugin framework. During the routing the plugin framework needs to be able to determine which controller's to look at. If there are multiple home controllers across plugins it wont work as expected.<br>
  I need to be able to differentiate which plugin registered which IController implementation so that the controller factory knows to send the request to a controller in a specific plugin.</p>