Laden...

Code-Schnipsel aus txt-Datei auslesen und ausführen

Erstellt von TiloS vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.647 Views
T
TiloS Themenstarter:in
35 Beiträge seit 2012
vor 11 Jahren
Code-Schnipsel aus txt-Datei auslesen und ausführen

Hallo zusammen,

ich möchte aus einer txt-Datei C#-Befehle auslesen und direkt verwenden. Es sollen keine Strings ausgelesen werden, sondern Code, der an der eingefügten Stelle direkt ausgeführt wird.
Ist sowas überhaupt möglich?

Der Inhalt der txt-Datei wäre dann z.B:
var1 = object.var1;

Wenn es mit einer txt-Datei nicht gehen sollte, dann vielleicht mit einem anderen Dateiformat (xml ext.)?

Viele Grüße
Ringo Sender

G
538 Beiträge seit 2008
vor 11 Jahren

Hallo und willkommen,

das Datenformat ist für dein Vorhaben ziemlich egal, aber etwas anderes steht dir im Wege:

C# ist keine Skript-Sprache - soll heißen, du hast kompilierten Code und das macht dein Vorhaben nicht grade einfach.

Google liefert da was wenn du in Richtung "C# eval function" suchst.

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

T
708 Beiträge seit 2008
vor 11 Jahren

Guten Morgen,

oder vielleicht als Alternative den Code zur Laufzeit kompilieren.

D
500 Beiträge seit 2007
vor 11 Jahren

Hi,

das Stichwort ist hier CodeDom und ist eigentlich gar nicht so schwer. Aus eigener Erfahrung wuerde ich von so einem Vorhaben, wenn moeglich, absehen, weil es einige Probleme nach sich zieht. Wir hatten so eine Skriptingfunktion implementiert und diese Funktion wurde von Benutzern der Software bald zu ausgiebig benutzt. Es wurde nicht kompilierfaehiger Code gespeichert und versucht durch die Applikation einzulesen. Das folgende Fehlverhalten wurde dann auf die Software, nicht aber auf den "geskripteten" Code durch den User zurueckgefuehrt, was aber ein falscher Rueckschluss war. Sei einfach vorsichtig mit so einer Funktion.

Gruss,
DaMoe

T
TiloS Themenstarter:in
35 Beiträge seit 2012
vor 11 Jahren

Danke für die Antworten.
Ich werde mir das CodeDom mal anschauen und das damit probieren.

Mir ist auch klar, dass es nicht sinnvoll ist, damit größere Code-Abschnitte zu verarbeiten. Es geht in dem Fall nur darum von einem Objekt, welches sehr viele Eigenschaften (Datenfelder) besitzt, verschiedene Daten abzufragen. In verschiedenen Fällen können das verschiedene Daten sein, die zum jetzigen Zeitpunkt noch nicht feststehen.

In dem Zusammenhang, wäre evtl. eine Konstruktion mit Linq dazu geeignet, die entsprechenden Daten eines Objekts von außen steuerbar abzufragen?

Gruß
Tilo

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo TiloS,

das Thema wurde oft genug im Forum und im Netz besprochen, dass du mit ein bisschen suchen, passende Lösungen finden wirst.

herbivore

M
334 Beiträge seit 2007
vor 11 Jahren

gibts bereits fertig: http://www.csscript.net/