ThoMa - Mi 30.06.10 13:13
Titel: [NET 2.0 / SOFTWAREDESIGN] Only-Property-Classes
Hallo,
ich habe hier eine Klasse, die im Prinzip nichts anderes ist als ein logischer Container für einige Fields, die über Properties nach außen zugänglich gemacht werden.
Blöderweise habe ich nicht nur eine Klasse, sondern mehrere Klassen der gleichen Art aber natürlich mit unterschiedlichen Fields und Properties.
Das möchte ich gerne vermeiden, denn die Klasse ist ja dadurch bestimmt, wie sie von außen angesteuert wird. Selbstverständlich könnte man sowas durch ein Dictionary<String, Object> ersetzen, verliert hierdurch jedoch die absolut gewünschte Typsicherheit.
Mein Gedanke ist nun das Teil als Bestandteil einer dynamische Assembly sozusagen zur Laufzeit aufzubauen. Wird von außen also angesprochen:
C#-Quelltext
1:
| dynamic.Blubb = (int)3; |
Soll die Klasse dynamic automatisch ein Field vom Typen int mit der Bezeichnung _blubb erstellen, da den Inhalt 3 reinsetzen und über die Property Blubb mit Getter und Setter zur Verfügung stellen.
Ist sowas überhaupt realisierbar? Problem hierbei ist, dass eine Instanz ihre eigene Klassendefinition zur Laufzeit dynamisch erweitern müsste.
Grüße
ThoMa
Ralf Jansen - Mi 30.06.10 21:49
Zitat: |
Ist sowas überhaupt realisierbar? Problem hierbei ist, dass eine Instanz ihre eigene Klassendefinition zur Laufzeit dynamisch erweitern müsste. |
Wenn das ginge wie sollte dir das im folgenden helfen? Da das Interface der Klasse ja erst zur Laufzeit feststeht könntest du die theoretische Typsicherheit der Properties ja nie ausnutzen sondern müsstest wieder irgendeinen generischen Algorithmus gegen dieses dynamische typsicheren Properties schreiben um sie verwenden zu können.
Könntest du denn eigentlichen Verwendungszweck mal nennen? Vielleicht kann man sich dann was sinnvolles ausdenken oder dein anliegen zumindest besser verstehen.