Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Code-Schnipsel aus txt-Datei auslesen und ausführen
TiloS
myCSharp.de - Member



Dabei seit:
Beiträge: 35

Themenstarter:

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

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Grumbler85
myCSharp.de - Member



Dabei seit:
Beiträge: 550
Herkunft: Rheingau Taunus

beantworten | zitieren | melden

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)
private Nachricht | Beiträge des Benutzers
trib
myCSharp.de - Member



Dabei seit:
Beiträge: 693

beantworten | zitieren | melden

Guten Morgen,

oder vielleicht als Alternative den Code zur Laufzeit kompilieren.
private Nachricht | Beiträge des Benutzers
DaMoe80
myCSharp.de - Member



Dabei seit:
Beiträge: 508

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
TiloS
myCSharp.de - Member



Dabei seit:
Beiträge: 35

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
mabo
myCSharp.de - Member



Dabei seit:
Beiträge: 335

beantworten | zitieren | melden

gibts bereits fertig: http://www.csscript.net/
private Nachricht | Beiträge des Benutzers