title: How to inherit abstract protected nested class in a derived class
body: <p>I haven't actually done this yet, and maybe I don't need to, but it made sense to me. I have a baseclass, say <code>BaseClass</code>, where I have several derived classes, say <code>Derived1</code>,<code>Derived2</code>,<code>Derived3</code>. I have several operations that apply only to one particular function, namely generating a PDF. My idea was take all of those methods (some are abstract from the baseclass) and plug them into a nested abstract class within the Base Class, like this:</p>
  
  <pre><code>Public MustInherit Class BaseClass
      Protected MustOverride Sub MethodA()
      Protected MustOverride Sub MethodB()
  
      ...stuff
  
      Protected MustInherit Class PDFOperations
          Protected MustOverride Sub Method1()
          Protected MustOverride Sub Method2()
  
          etc.
  
      End Class
  End Class
  </code></pre>
  
  <p>This way when I want to find something in my class, I can abstract my PDF operations from everything else, which will keep my interface way cleaner. Is there any way to do this so that my derived classes will be forced to override the nested class and all of its methods? Or is this just a silly way to go about doing this?</p>