Why does c# compiler force an
class to define (as opposed to implement) all the methods of the inherited
interface ? why does it not mark unimplemented methods of an inherited
abstract on its own ?
I'm unable to appreciate this constraint, Is it because the language designers wanted the programmer of the abstract class to be more thoughtful while choosing a method to be -
virtual or non virtual? Or is there something bigger to it?