Vererbung und Interfaces
-
Wieder einmal fällt es mir schwer mein Problem klar zu machen, mal schauen ob ich das hinbekomme.
Ich habe eine Basisklasse und von denen Erben mehrere Klassen
class Base { } class D1: Base { } class D2: Base { }
nun habe ich weitere Klassen welche jeweils für eines von den D (D1 und D2) verantwortlich sind. Kurz gesagt die haben sowas:
public class D1User { public DoSomething(D1 data) { ... } } public class D2User { public DoSomething(D2 data) { ... } }
Nun möchte ich Garantieren das alle dieser Userklassen das DoSomething implementieren. Also dachte ich mir ich nehm ein Interface welches diese Userklassen implementieren müssen.
public interface IUserInterface { public DoSomething(Base data); }
Aber damit muss ich ja immer eine Funktion für die Basisklasse anbieten. Kann ich sowas irgendwie über ein Generic lösen das mir garantiert das solch eine Funktion existiert, aber nicht für welchen konkreten abgeleiteten Typ?
-
1. Basis von Interface "erben" lassen
2. In Basis die entsprechenden Methoden des Interfaces abstract machen.