title: The "does not implement interface member" error when using inheritance
body: <p>I have these 2 interfaces:</p>
  
  <pre><code>public interface IFilterHelper&lt;T&gt;
  {
      void Filter(ISearchModel&lt;T&gt; model, ref IQueryable&lt;T&gt; dbModel);
  }
  
  public interface ISearchModel&lt;T&gt;
  {
      IQueryable&lt;T&gt; GetDBModel(DbContext db);
  }
  </code></pre>
  
  <p>And these 2 implementations</p>
  
  <pre><code>public class UserSearchModel : ISearchModel&lt;ApplicationUser&gt;
  {        
      public IQueryable&lt;ApplicationUser&gt; GetDBModel(DbContext db)
      {
          return db.Users.Where(u =&gt; true); //something like this
      }
  }
  
  public class UserFilterHelper : IFilterHelper&lt;ApplicationUser&gt;
  {
      public void Filter(UserSearchModel model, ref IQueryable&lt;ApplicationUser&gt; dbModel)
      {
      }
  }
  </code></pre>
  
  <p>However I get the error <code>'UserFilterHelper' does not implement interface member 'IFilterHelper&lt;ApplicationUser&gt;.Filter(ISearchModel&lt;ApplicationUser&gt;, ref IQueryable&lt;ApplicationUser&gt;)'</code></p>
  
  <p>But when I change <code>UserSearchModel</code> with <code>ISearchModel&lt;ApplicationUser&gt;</code>, it compiles successfully. I know I can cast it and get it to work but why does it give me that error. As you can see the <code>UserSearchModel</code> class implements the interface <code>ISearchModel&lt;ApplicationUser&gt;</code>. What am I missing?</p>