title: c# Is there a way that my base class and derived class can implement Interface methods separately?
body: <p>I know the question is confusing, but it is hard to think of a good title for this problem, so I'll describe more here.</p>
  
  <p>I have an interface A with 2 methods, <code>IsValidRow()</code> and <code>IsFileValid()</code>
  I have a base class B and a derived class C
  The goal here is that I want the base class to implement <code>IsFileValid()</code>, so it can be inherited by all the classes derived off the base class and each derived class to implement <code>IsValidRow()</code>.</p>
  
  <p>The problem is that <code>IsFileValid()</code> calls <code>IsValidRow()</code> inside. If I do</p>
  
  <pre><code>B:A
  </code></pre>
  
  <p>A requires <code>IsValidRow()</code> to be implemented in B.</p>
  
  <p>Currently my derived class C inherits from the base class and the interface atm.</p>
  
  <p>I don't mind restructuring everything as long as the requirements for the 2 methods are fulfilled (One will be implemented once in a base class or something and inherit across, while the other one will be implemented in each derived class)</p>
  
  <pre><code>interface IFileValidator
  {
      Pair&lt;bool, string&gt; IsValidRow(List&lt;string&gt; row);
  
      bool IsFileValid(string file);
  }
  
  class FileValidator : IFileValidator
  {
      public bool IsFileValid(string file)
      {
          // calls IsValidRow()
          IsValidRow();
      }
   }
  
  class FacilitiesCalendarValidator : FileValidator, IFileValidator
  {
  
      public Pair&lt;bool, string&gt; IsValidRow(List&lt;string&gt; row)
      {
              //stuff
      }
   }
  </code></pre>