title: Is it possible to create a generic abstract parent class for different types?
body: <p>I was curious if it was possible to create like a parent abstract class that I can define a specific set of methods in but have the children classes include different entity types? Code Example:</p>
  
  <pre><code>public abstract class BaseService
  {
      public abstract void Add();
  
      public abstract void Delete();
  
      public abstract void Update();
  
      public abstract void Get();        
  }
  </code></pre>
  
  <p>Maybe be able to do something like <code>public abstract List&lt;'random type'&gt; GetAll();</code></p>
  
  <p>But here i would want to override each method with specific parameters that are specific to each of its children:</p>
  
  <pre><code>public class CategoryService : BaseService
  {
      public override void Add(){ }
  
      public override void Delete(){ }
  
      public override void Update(){ }
  
      public override void Get(){ }
  }
  </code></pre>
  
  <p>However, in my child class, I would want my Get() method to return a specific List&lt;"of Type"> (in this case Category). Furthermore, I might want to do <code>public override Add(int CategoryID)</code> instead of the inherited <code>Add</code> from <code>BaseService</code>.</p>
  
  <p>Is this possible? Thoughts? Am I just crazy? Or am I trying to make this more complicated than it needs to be? I have about 10 different service types that I want to make sure get those generic methods from <code>BaseService</code>.</p>
  
  <p>Thanks in advance!</p>