Консоль С#?
Кто-нибудь знает, есть ли приложение С# Console, похожее на консоль Python или Ruby? Я знаю всю разницу "Скомпилированный или интерпретируемый", но с мощностью отражения С# я думаю, что это можно сделать.
UPDATE
Ну, это заняло всего около 200 строк, но я написал простой... Он очень похож на osql. Вы вводите команды, а затем запускаете их с помощью go.
SharpConsole http://www.gfilter.net/junk/sharpconsole.jpg
Если кто-то этого захочет, дайте мне знать.
Ответы
Ответ 1
Учитывая ваше упоминание о силе отражения С#, я не уверен, что вы ищете интерактивную консоль С# для небольших фрагментов кода (à la Ruby irb
) или средство взаимодействия с существующим, скомпилированное приложение, выполняемое в настоящее время как процесс.
В первом случае:
- Windows PowerShell может быть вашим другом.
- Другим кандидатом будет С# shell
- Наконец, CSI, простой интерпретатор С#
Ответ 2
Обнаружено это на reddit: http://tirania.org/blog/archive/2008/Sep-08.html
Цитата с сайта:
Идея была простой: создать интерактивную оболочку С#, изменив компилятор, чтобы генерировать и выполнять код динамически, а не просто генерировать статический код.
Ответ 3
Если вам не нужно использовать консоль и просто хотите место для тестирования некоторых специальных фрагментов С#, тогда LinqPad это хороший вариант. Я считаю, что это очень круто/легко использовать.
Ответ 4
Я не уверен, что вы ищете для этого приложения. Если вам просто нужно попробовать какой-то код, не создавая проект и все накладные расходы, чтобы просто проверить идею, тогда SnippetCompiler может быть хорошо подходит.
Я просто хотел дать вам другой вариант.
Ответ 5
Похоже, Мигель де Иказа преследовал меня:
http://tirania.org/blog/archive/2008/Sep-08.html
Ответ 6
Google показывает на это несколько усилий. В частности, это иллюстрирует, почему это менее очевидно, чем могло бы показаться. http://www.codeproject.com/KB/cs/csi.aspx имеет базовый интерпретатор, использующий встроенную способность .NET компилировать код С#. Ключевой проблемой является то, что авторский подход создает новую сборку mini.NET для каждой интерпретируемой строки. С# может иметь отражающую способность иметь консоль стиля python или ruby, но библиотеки .NET Framework предназначены для компиляции С#, а не для динамического ее интерпретации. Если вы серьезно относитесь к этому, вы можете посмотреть http://www.paxscript.net/, что кажется подлинной попыткой интерпретировать С#.
Ответ 7
Я считаю, что вы ищете Snippy =)
![Snippy Screenshot]()