C# Abstrakte Funktion, mit der Umsetzung möglich?

Gibt es eine Möglichkeit hinzufügen, um eine virtuelle Funktion, die überschrieben werden müssen, die von allen Klassen geerbt? Also eigentlich die Kombination von virtual und abstract?
Ich habe eine situation, wo jeder geerbten Klasse müssen einige spezifische Verarbeitung vor einige generische code ausgeführt wird. Virtuelle Funktionen nicht arbeiten, weil Sie nicht gewährleisten das geerbte Klassen diese überschreiben. Und abstrakte Funktion kann nicht über eine Standard-Implementierung. Aktuell mein workaround ist die Umsetzung eine andere geschützte Funktion in der Basis-Klasse, die enthält die Allgemeinen/generischen code und heißt in der überschriebenen abstrakten Funktion

  • Wenn es eine default-Implementierung, warum soll es überschrieben werden? Nicht, dass die Niederlage der Zweck? Warum nicht einfach machen es Abstrakt, wenn es immer geht, um sowieso überschrieben?
  • Wenn Sie die Funktion überschreiben, können einfach ändern Sie den Körper. Sie können nicht ändern Sie die Signatur der Methode.
InformationsquelleAutor Tin | 2011-07-22
Schreibe einen Kommentar