title: How to solve this generic with repository pattern problem?
body: <p>I had this code from a previous question, but its not compiling:</p>
  
  <pre><code>    public interface IEntity
  {     
  // Common to all Data Objects
  }
  public interface ICustomer : IEntity
  {
       // Specific data for a customer
  }
  public interface IRepository&lt;T, TID&gt; : IDisposable where T : IEntity
  {
       T Get(TID key);
       IList&lt;T&gt; GetAll();
       void Save (T entity);
       T Update (T entity);
       // Common data will be added here
  }
  public class Repository&lt;T, TID&gt; : IRepository
  {
       // Implementation of the generic repository
  }
  public interface ICustomerRepository
  {
       // Specific operations for the customers repository
  }
  public class CustomerRepository : Repository&lt;ICustomer&gt;, ICustomerRepository
  {
       // Implementation of the specific customers repository
  }
  </code></pre>
  
  <p>But in these 2 lines : </p>
  
  <p>1- public class Repository : IRepository </p>
  
  <p>2- public class CustomerRepository : Repository, ICustomerRepository </p>
  
  <p>It give me this error: Using the generic type 'TestApplication1.IRepository' requires '2' type arguments </p>
  
  <p>can you help me solve?</p>