Ich habe eine abstrakte Superklasse und Subklassen, die davon erben.Definieren von Factory-Methoden in Interfaces oder abstrakten Oberklassen der Produktklasse
Jede Unterklasse MySubclass
muss eine public static MySubclass CreateFrom(ISomething something)
Factory-Methode haben. Die Schnittstelle ihres Arguments ist für alle Unterklassen gleich, aber der Rückgabetyp muss natürlich immer der Typ der jeweiligen Unterklasse sein.
Kann ich dies irgendwie erreichen, um statische Factory-Methoden zu haben, die einer Interface- oder abstrakten Superklassen-Methodendefinition folgen, ohne eine separate statische Factory-Klasse für jede einzelne Subklasse zu erstellen?
aber nicht statisch ... – buffjape
Das würde jedoch eine Instanz der Unterklasse erfordern, da die CreateFrom-Methode nicht statisch ist. Ich denke, genau das versucht er zu vermeiden. –