Gibt es eine Kommandozeilen-Schnittstelle oder ein Interpreter für .net Code ausgeführt wird? [geschlossen]

StackOverflow https://stackoverflow.com/questions/790436

  •  16-09-2019
  •  | 
  •  

Frage

Ich brauche es, will aber nicht heißes Wasser neu zu erfinden.

Frage von Beispiel Syntax wie möglich Beispiel:

.net> load myLibrary.dll
myLibrary.dll loaded

.net> Person p "John" "Doo" 32
Instance of myLibrary.Person created (p)

.net> print p.Age
32

Also ich bin auf der Suche nach einem Kommandozeilen-Interface der öffentlichen Methoden und Eigenschaften einer Baugruppe zuzugreifen. (In diesem Beispiel wird der Ctor der Person (string, string, int) aufgerufen wurde und danach das Eigentum Alter auf die Konsole ausgegeben wurde.)

Obwohl ich mit jeder Lösung dieses Problem gerne würde,

  • Ich brauche den Quell zu, so kann ich sie anpassen ... (I c # prefere sehr viel)
  • Ich brauche es frei und verteilbar
  • sein

Irgendwelche Ideen?

UPDATE: Wenn ich nicht eine gute Lösung finden kann, werde ich es selbst programmieren, alle Interessierten können mit mir Kontakt auf gmail, ist, dass phelsen bei

.
War es hilfreich?

Lösung

F # hat eine Befehlszeile REPL (fsi.exe). Und der Code für F # verfügbar ist.

(Siehe http://strangelights.com/fsharp/wiki für einen alten Screenshot /default.aspx/FSharpWiki/FSI.html, um eine Vorstellung zu bekommen.)

Andere Tipps

Für C # (Original-Tags), das ist die Art der Sache, dass der "Compiler als Service" wird in einer zukünftigen Version ermöglichen. Sie können jedoch einen Teil davon bereits in Mono (mit Quellcode verfügbar) tun - CsharpRepl . Es sollte den Wert des letzten Befehls drucken -. Nicht ganz die gleiche wie die Person Beschreibung Sie wollten (Ich gehe davon aus, es wird ToString() verwenden)


(Quelle: mono-project.com )

Vielleicht möchten Sie schauen in Powershell , obwohl gibt es keine Quelle meines Wissens zur Verfügung. Die Syntax ist nicht genau die C #, aber es ist ziemlich leicht zu holen.

Ironpython hat auch eine REPL.

Haben Sie versucht, Powershell (ehemals Codenamen Monad )? Es ist ein CLI, auf Basis von .NET und mit vollem Zugriff auf Baugruppen, wenn auch mit einem anderen Modell als die Prozedur ‚Last Assembly‘ Sie angegeben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top