Perché il compilatore c # forza un abstract class a definire (al contrario di implementare ) tutti i metodi del interface ereditato? perché non contrassegna i metodi non implementati di un interface ereditato come abstract da solo?
Non sono in grado di apprezzare questo vincolo, è perché i progettisti linguistici volevano che il programmatore della classe astratta fosse più riflessivo mentre sceglieva un metodo per essere - abstract , virtual o non virtuale? O c'è qualcosa di più grande?