title: overriding abstract generic method from non generic class
body: <h2>base class</h2>
  
  <pre><code>class Drawer
  {
      public abstract void Draw&lt;T&gt;(T type);    
  }
  </code></pre>
  
  <h2>derived class #1</h2>
  
  <pre><code>class ADrawer : Drawer
  {
      public override void Draw&lt;T&gt;(List&lt;T&gt; list)
      {
          foreach (var a in list)
          {
              DrawA(a);
          }
      }
  
      public void DrawA(Agent a)
      {
          //draw code here
      }
  }
  </code></pre>
  
  <h2>derived class #2</h2>
  
  <pre><code>class AnotherDrawer : Drawer
  {
      public override void Draw&lt;T&gt;(T number)
      {
          if (number == 1)
          {
              //draw code
          }
      }
  }
  </code></pre>
  
  <p>The error is in the #1 derived class : "no suitable method found to override"</p>
  
  <p><strike>Should I be using 'virtual' in the base class as well as 'abstract' ?</strike></p>
  
  <p>How should I set the base parameter type to allow a variety of parameters in derived classes?</p>