Klassenproperties dynamisch erzeugen
-
Hallo Leute,
ich programmiere unter VS C# 2010 und möchte ein Objekt einer Klasse mit einem Übergabeparameter anlegen:
meineKlasse myInstanz = new meineKlasse("Parameter1");
und abhängig vom Übergabeparameter sollen einige Properties der Klasse erzeugt/nicht erzeugt werden.
Ist sowas möglich ohne Vererbung anzuwenden?
-
sonic_1233 schrieb:
Ist sowas möglich ohne Vererbung anzuwenden?
Jein.. in eingeschränkter Form kann man sowas mittels ICustomTypeDescriptor machen. Es ist allerdings ziemlich aufwändig und eher nervig.
http://msdn.microsoft.com/de-de/magazine/cc163816(en-us).aspx
http://msdn.microsoft.com/de-de/magazine/cc163804(en-us).aspxWas einfacher wäre, wäre ein "Dictionary<string, Object> properties", das du abhängig vom übergebenen Parameter befüllst. Dazu gibt's auf SO auch was: http://stackoverflow.com/questions/947241/c-dynamic-properties
-
Vielen Dank für die schnelle Antwort. Hat mir sehr weiter geholfen.
Gruß
sonic
-
Gibt grundsätzlich noch eine Möglichkeit, kommt aber dann ein wenig darauf an, was du genau machen willst. Unter .Net 4.0 könnte dir vielleicht
ExpandoObject
unddynamic
weiterhelfen:
http://msdn.microsoft.com/en-us/library/System.Dynamic.ExpandoObjectGrüssli