title: Defining factory methods in interfaces or abstract superclasses of the product class
body: <p>I have an abstract super class and subclasses inheriting from it.</p>
  
  <p>Each subclass <code>MySubclass</code> shall have a <code>public static MySubclass CreateFrom(ISomething something)</code> factory method. The interface of its argument is the same for all subclasses, but the return type must of course always be the type of the respective subclass.</p>
  
  <p>Can I somehow achieve this to have static factory methods following an interface or abstract superclass method definition without creating a separate static factory class for each single subclass?</p>