title: Why we are using generic types in ASP.NET MVC?
body: <pre><code>public interface IEntityService &lt; T&gt; : IService where T : class
  {
      void Create(T entity);
      void Delete(T entity);
      IEnumerable&lt;T&gt; GetAll();
      void Update(T entity);
      T SelectById(object pk);
  }
  </code></pre>
  
  <p>What is <strong>'T'</strong> of here?</p>
  
  <p>Why we have defined class?</p>