title: C#: Possible to not implement a protected internal abstract on an abstract class?
body: <p>what do I need to change in my abstract base so that the implementations don't have to implement BOTH methods when only one is needed in any given scenario?  My example is:</p>
  
  <pre><code>internal abstract class BaseBar&lt;T&gt; where T : BaseThing
  {
      protected internal abstract T DataFromXmlElements(IEnumerable&lt;XmlNode&gt; nodes);
      protected internal abstract T DataFromXmlElements(IEnumerable&lt;XmlNode&gt; nodes, string[] fieldNames);
  }
  
  class FooBarMapper : BaseBar&lt;FooData&gt;
  {
      protected internal override SforceObjectValueData DataObjectFromXmlElements(IEnumerable&lt;XmlNode&gt; nodes)
      {
          throw new NotImplementedException();
      }
  
      protected internal override FooData DataFromXmlElements(IEnumerable&lt;XmlNode&gt; nodes, string[] fieldNames)
      {
          FooData o = new FooData
          {
              bar1 = bar1,
              bar2 = bar2
          };
          return o;
      }
  }
  </code></pre>
  
  <p>Cheers.</p>
  
  <p>edit: The design is weird/bad/stupid I know...I'm working with legacy code and time is not on my side right now for a refactor.  I'm trying to add the second method with the string array. </p>