2008-09-06 2 views
30

Кто-нибудь знает, есть ли приложение C# Console, похожее на консоль Python или Ruby? Я знаю всю разницу «Скомпилированный или интерпретируемый», но с силой отражения C# я думаю, что это можно сделать.C# Console?

UPDATE Ну, это всего около 200 строк, но я написал простой один ... Он много работает, как OSQL. Вы вводите команды, а затем запускаете их с помощью go.

SharpConsole http://www.gfilter.net/junk/sharpconsole.jpg

Если кто-то хочет, дайте мне знать.

+3

Awesome! Где можно скачать консоль? – georgiosd 2011-02-28 13:57:14

+6

Изображение повреждено. – 2011-07-02 01:44:51

+0

Я также хотел бы попробовать ваше приложение/решение. Любая мысль о выпуске/распространении приложения и его исходном коде? Возможно, на GitHub, SourceForge или CodePlex. Я предполагаю, что это было бы легко скомпилировать из источника, так как это всего лишь 200 строк. – David 2012-03-02 22:58:11

ответ

20

Учитывая ваше упоминание о мощности отражения «C#», я не уверен, что вы ищете интерактивную консоль C# для небольших фрагментов кода (à la Ruby's irb) или средство взаимодействия с существующим, скомпилированное приложение, выполняемое в настоящее время как процесс.

В первом случае:

  • Windows PowerShell может быть вашим другом
  • Другой кандидат должен быть C# shell
  • Наконец, CSI, Простой C# переводчик
1

Google показывает немного усилий в этом. В частности, это иллюстрирует, почему это менее очевидно, чем могло бы показаться. http://www.codeproject.com/KB/cs/csi.aspx имеет базовый интерпретатор, использующий встроенную способность .NET для компиляции кода C#. Ключевой проблемой является то, что авторский подход создает новую сборку mini .NET для каждой интерпретируемой строки. C# может иметь отражающую способность иметь консоль стиля python или ruby, но библиотеки .NET Framework предназначены для компиляции C#, а не для динамического ее интерпретации. Если вы серьезно относитесь к этому, вы можете посмотреть на http://www.paxscript.net/, что кажется подлинной попыткой интерпретировать C#.

6

Я не уверен, что вы ищете для этого приложения. Если вам просто нужно попробовать какой-то код, не создавая проект и все накладные расходы, чтобы просто протестировать идею, то SnippetCompiler может быть в хорошей форме.

Я просто хотел дать вам другой вариант.

9

Нашел на Reddit: http://tirania.org/blog/archive/2008/Sep-08.html

Цитата с сайта:

Идея была проста: создать интерактивный C# оболочку, изменяя компилятор для генерации и выполнить код динамически, а не просто генерирующего статический код.

8

Если вы не имеют использовать консоль, и просто хочет место, чтобы проверить некоторые специальные C# фрагментов, то LinqPad - хороший вариант. Я считаю, что это очень круто/легко использовать.