Ich war neugierig, ob es möglich war, wie eine abstrakte Elternklasse zu erstellen, dass ich eine bestimmte Menge von Methoden definieren kann, aber die untergeordneten Klassen verschiedene Entitätstypen enthalten? Codebeispiel:Ist es möglich, eine generische abstrakte Elternklasse für verschiedene Typen zu erstellen?
public abstract class BaseService
{
public abstract void Add();
public abstract void Delete();
public abstract void Update();
public abstract void Get();
}
vielleicht in der Lage sein, so etwas wie public abstract List<'random type'> GetAll();
zu tun, aber hier würde ich jede Methode mit bestimmten Parametern außer Kraft setzen möchten, die zu jedem seiner Kinder spezifisch sind:
public class CategoryService : BaseService
{
public override void Add(){ }
public override void Delete(){ }
public override void Update(){ }
public override void Get(){ }
}
In meiner untergeordneten Klasse möchte ich jedoch, dass meine Methode Get() eine bestimmte Liste < "Type"> (in diesem Fall Kategorie) zurückgibt. Darüber hinaus möchte ich public override Add(int CategoryID)
statt der ererbten Add
von BaseService
tun.
Ist das möglich? Gedanken? Bin ich nur verrückt? Oder versuche ich, das komplizierter zu machen, als es sein muss? Ich habe ungefähr 10 verschiedene Service-Typen, die ich sicherstellen möchte, dass diese generischen Methoden von BaseService
erhalten.
Vielen Dank im Voraus!
Kurze Antwort ja. – Nkosi
Wenn Sie in allen Unterklassen unterschiedliche Parameter für 'Add' haben würden, was würden Sie gewinnen, wenn Sie diese in einer Basisklasse definiert hätten? –
Mögliches Duplikat von [Verwendung von Generika in abstrakten Klassen] (http://stackoverflow.com/questions/2359540/using-generics-in-abstract-classes) – pw94