Entwickler-Ecke

C# - Die Sprache - Klassen zur Laufzeit definieren


pacy - So 27.04.08 14:01
Titel: Klassen zur Laufzeit definieren
hallo *,

ich möchte gerne von einer bestehenden basisklasse ableitungen erstellen.
die namen der abgeleiteten klassen, sowie deren anzahl kommen aus einer xml datei, können also bei jedem start des programms variieren.

wer kann mir helfen, oder das richtige stichwort für die suche im inet liefern?

danke!

gruß pacy


Christian S. - So 27.04.08 14:08

Hallo!

Ableitungen einer Klasse kannst Du nicht zur Laufzeit erstellen. C# ist ja keine Skriptsprache. ;-)
Oder meinst Du vielleicht Instanzen der selben Klasse? :-)

Grüße
Christian


Kha - So 27.04.08 15:13

Irgendwie ist das meiste zu schaffen :mrgreen: , aber wenn du es wirklich so meinst, stellt sich mal wieder die Frage: Warum glaubst du, das zu brauchen ;) ?


pacy - So 27.04.08 18:46

also ich stelle mir da folgendes vor:

ich habe eine xml daei, in der objct definitionen sind. jedes objekt hat veschiedene attribute und diese atrribute haben werte.
wie gesagt, der inhalt der xml datei kann sich jederzeit ändern.

wenn man die applikation startet soll dann folgendes geschehen:
die applikation liest die xml datei und generiert aufgrund der dort enthaltenen objekte zur laufzeit klassen. diese klassen werden zur laufzeit auch instanziert und enthalten dann die attribute der xml datei als eigenschaften. die so instanzierten klassen sind alle von einer basisklasse abgeleitet, über diese ableitung werden diese klassen mit ein paar basismethoden versorgt.

sinn und zweck der ganzen geschichte ist, dass man diese klassen von einem auch zur laufzeit eingebundenem script (z. b. vb oder so) in ganz normaler objektnotation ansprechen kann, also z. b.

objekt.eigenschaft = blabla;

geht so was in der art?


ujr - Di 29.04.08 09:06

Hallo,

user profile iconpacy hat folgendes geschrieben:
sinn und zweck der ganzen geschichte ist, dass man diese klassen von einem auch zur laufzeit eingebundenem script (z. b. vb oder so) in ganz normaler objektnotation ansprechen kann


vielleicht hilft Dir das C# Script Projekt von http://www.codeproject.com/KB/cs/cs-script_for_cp.aspx weiter.