Hallo Zusammen,
ich habe eine Anfänger Frage.
Gibt es so etwas wie ein dynamisches NEW in c#. Ich würde es brauchen um dynmische Menü einträge aus der DB zu erstellen. d.h. in der DB werden die Classen als Strings hinterlegt die dann zur Laufzeit instanziert werden.
Mir ist bewußt das dies das Konzept von EARLY Binding untergräbt.
Ich würde es mir so vorstellen.
STRING myString;
myString = "class_1";
NEW myString();
Gruß
Stefan
Mir ist bewußt das dies das Konzept von EARLY Binding untergräbt.
Naja, wenn du die Funktionalität der Menüeinträge über eine Schnittstelle definierst und dann auf die Schnittstelle castest, dann würde ich das nicht als Verstoß bezeichnen. Aber was anderes: Wenn du wie svenson das vorgeschlagen hast Activator.CreateInstance benutzt solltest du a einen parameterlosen Konstruktor anbieten und b in der Datenbank nicht nur class_1, sondern den vollqualifizierenden Namen (d.h., incl. Assembly) speichern.
Hallo zusammen,
ich denke hier ist das richtige Stichwort Inversion of Control oder kurz auch IOC genannt. Solche Anforderungen würden sich in einem Microkernel Prinzip wiederfinden.
Eventuell könnte auch eine Factory-Pattern weiterhelfen, weil ich nicht sicher bin, ob der Typ wirklich so variabel gestaltet werden muss. Menüeinträge dynamisch lässt sich nämlich wunderbar auf "MenuItem" runterbrechen. Andere Typen würden doch so gar nicht in Frage kommen, oder liege ich da falsch?
Grüße
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”