Ich habe eine Basisklasse für einige Dinge im Plugin-Stil, und es gibt einige Methoden, die unbedingt implementiert werden müssen.
Ich deklariere diese in der Basisklasse derzeit als virtuell, zum Beispiel
%Vor%und im Abstieg habe ich ein
%Vor% Ist es eine gute Übung, dort eine NotImplementedException
zu werfen? Die Descendand-Klassen könnten beispielsweise die Module zur Handhabung verschiedener Dateiformate sein. Danke
Im Allgemeinen würde ich erwarten, dass Ihre Basisklasse abstrakt ist und die Implementierung einfach auf die erbenden Klassen verschiebt.
%Vor%Keine gute Idee.
Normalerweise würden überschreibende Methoden die Basisklassenmethode über
aufrufen %Vor%und das würde jedes Mal kotzen.
Also generell schlechte Idee. In Ihrem Fall sieht es so aus, als ob es die bessere Wahl wäre, es abstrakt zu machen.
Tags und Links c# module virtual polymorphism