2009-04-26 6 views
3

J'en ai besoin, mais je ne veux pas réinventer l'eau chaude.Existe-t-il une interface de ligne de commande ou un interpréteur pour exécuter le code .net?

Question par exemple, la syntaxe comme exemple possible:

.net> load myLibrary.dll 
myLibrary.dll loaded 

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

.net> print p.Age 
32 

Je suis à la recherche d'une interface de ligne de commande pour accéder aux propriétés et méthodes d'un assemblage. (Dans cet exemple, la Ctor de la personne (string, string, int) a été appelé et après l'âge de la propriété a été imprimé à la console.)

Bien que je serais heureux avec une solution à cela,

  • J'ai besoin SourceFiles, donc je peux les adapter ... (je prefere C# beaucoup)
  • je en ai besoin d'être libre et redistribuable

Toutes les idées? MISE À JOUR: Si je ne trouve pas une bonne solution, je vais la programmer moi-même, toute personne intéressée peut me contacter à Gmail, c'est-à-dire phelsen at.

Répondre

6

Vous voudrez peut-être regarder dans Powershell, bien qu'il n'y ait pas de source disponible à ma connaissance. La syntaxe n'est pas exactement C#, mais c'est assez facile à comprendre.

2

Avez-vous essayé PowerShell (anciennement appelé Monad)? C'est un CLI, basé sur .NET, et avec un accès complet aux assemblages, quoique avec un modèle différent de la procédure 'load assembly' que vous avez indiquée.

7

pour C# (étiquettes d'origine), ce type de chose que le « compilateur en tant que service » permettra dans une version future. Cependant, vous pouvez déjà en faire en mono (avec le code source disponible) - CsharpRepl. Il devrait imprimer la valeur de la dernière commande - pas tout à fait la même que la description Person que vous vouliez (je pense qu'il utilisera ToString()).

CsharpRepl http://mono-project.com/files/thumb/9/96/320px-Xbyhja.png