I wanted to extend an existing base class and originally made the method abstract to force developers to implement the method.  However, that method is really only needed in the case that one uses a different method of initialization, and I didn't want to change existing derived classes by overriding the method.I'd like to avoid discussion about creating a different base class and would like to pretend for the sake of this discussion that I had to extend the existing class.If existing consumers of this base class shouldn't ever be changed to use my other method of initialization (i.e. calling a different method to get set up), is it reasonable to change my abstract method to virtual, and then have the base class throw an exception?
Throwing exception from base class' virtual function
c#;inheritance;abstract class;virtual functions