Ich habe eine Schnittstelle, damit Klassenschreiber bestimmte Methoden implementieren müssen. Ich möchte auch einige standardmäßig implementierte Methoden erlauben, also erstelle ich eine abstrakte Klasse. Das Problem ist, dass alle Klassen von der Basisklasse erben, also habe ich einige Hilfsfunktionen dort.abstrakte Klasse implementiert keine Schnittstelle
Ich habe versucht, schreiben Sie an: IClass in der abstrakten Basis aber ich habe einen Fehler, dass die Basis nicht die Schnittstelle implementieren haben. Nun, natürlich, weil ich diese Zusammenfassung möchte und die Benutzer diese Methoden implementieren lassen. Als Rückgabeobjekt, wenn ich Base benutze, kann ich die Methoden der Interface-Klasse nicht aufrufen. Wenn ich die Schnittstelle verwende, kann ich nicht auf Basismethoden zugreifen.
Wie mache ich es so kann ich diese Hilfsklassen und Kraft müssen Benutzer bestimmte Methoden zu implementieren?
Ich bevorzuge Mau's Lösung. Es ist explizit und lässt den Compiler die Konformitätsarbeit für Sie erledigen. In dieser Lösung könnten Sie vergessen, das IInterface zu der abgeleiteten Klasse hinzuzufügen. – PlayTank
@PlayTank: ... und dann scheitert es schließlich an einer impliziten Konvertierung, auch zur Kompilierzeit. Obwohl ich zustimme, fehlt der Lösung eine gewisse artikulierte Strenge. – vines