Hm... vielleicht hab ich mich nicht deutlich genug ausgedrückt.
Die statische (und nicht viruelle!) Methode InstanceOf(Assembly) in der Klasse AbstractBaseType erzeugt den Typ, welche innerhalb der Assembly steckt und ein Subtyp von AbstractBaseType ist; dieserabgeleitete Typ ist dann der Rückgabewert.
Dabei ist definiert, dass in der Assembly auch nur ein Typ existiert, welcher Subtyp der AbstractBaseType-Klasse ist.
Virtuell sind nun nur die Funktionen Initialize und DoSomething(). Diese stellen quasi die einheitliche Schnittstelle dar um einene genersichen Aufruf zu ermöglichen.
Ich will somit via Polymorphie die Funktionalität generisch und erweiterbar halten.
D.h. es ist generisch möglich(also durch bestimmung der Assembly), dass über die Basisklasse via Assembly die konkrete Ableitung der Unterklasse erhalte.
Die Unterklassen enthalten alle eine bestimmte Funktionalität, welche ich Fallabhänig benutzen möchte. Diese Fallunterscheidung erfolgt vorher durch Auswahl der Assembly.
Naja...mittlerweile bin ich auch schon zu der Erkenntnis gekommen, dass en Interface wohl sinnvoller gewesen wäre.
Aber da war irgendein Grund warum ich das damals nicht gemacht hatte.
Die Frage ist jetz nur, ob das noch etwas mit Factory Method/Abstract Factory zu tun hat.
Imho jein.

..obwoh ich eher zu ja als nein tendiere...
Naja...irgendwie finde ich hats schon was mit einer Fabrikenmethode zu tun...ist nur ein bisschen anders angewendet. (Man müsste jetz das GoF-Buch da hamn und mal nachschuen, wie's die Leute genau definiert ham'n.
Hm..aber irgendwie bin ich jetz durcheinander gekommen.
Was ist dann der Vorteil einer Factory-Method? Wieso tut man das? Weil, für jeden Subtyp ne Extraklasse zu tun finde ich ein bisschen heftig.
Hm..ich glaub ich ziehe mir nochmal en paar Beispiele rein für das Pattern und tu sie mal versuchen durchzuführen und nach zu vollziehen.
Vielleicht ist in meinem speziellen Fall, das so wie ich's gelöst habe vollkommen i.O..