Консоль C #?

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

ОБНОВЛЕНИЕ. На это ушло всего около 200 строк, но я написал простую ... Она очень похожа на osql. Вы вводите команды, а затем запускаете их с помощью go.

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

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


person FlySwat    schedule 06.09.2008    source источник
comment
Потрясающий! Где скачать вашу консоль ??   -  person georgiosd    schedule 28.02.2011
comment
Изображение не работает.   -  person Teo Klestrup Röijezon    schedule 02.07.2011
comment
Я также хотел бы попробовать ваше приложение / решение. Есть ли какие-либо мысли о выпуске / совместном использовании приложения и / или его исходного кода? Возможно размещение на GitHub, SourceForge или CodePlex. Я предполагаю, что его будет легко скомпилировать из исходников, так как это всего 200 строк.   -  person David    schedule 03.03.2012
comment
@FlySwat не был на сайте с января '11   -  person Basic    schedule 26.06.2012
comment
@Basic Это заставляет меня думать, что этот парень мог даже умереть. Это печально, но при каких еще обстоятельствах кто-то с 46k репутацией просто откажется от аккаунта?   -  person Camilo Martin    schedule 08.02.2013
comment
@Basic Хуже всего то, что я даже не могу погуглить этого парня с таким ником. Если он все-таки скончался, какой-то родственник мог бы захотеть услышать, что даже при нулевой активности в течение двух лет он по-прежнему входит в число крупнейших пользователей 0,31% с огромной репутацией, которая продолжает расти даже спустя долгое время после того, как он внес вклад в меритократическое сообщество, где репутация в основном соотносится с тем, чтобы быть хорошим парнем.   -  person Camilo Martin    schedule 08.02.2013


Ответы (7)


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

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

  • Windows PowerShell может быть вашим другом
  • Другой кандидат - C # shell
  • Наконец, CSI, простой интерпретатор C #
person Sören Kuklau    schedule 06.09.2008
comment
Эта оболочка C # вовсе не оболочка. Он берет ваш скрипт с префиксом shebang и помещает его в Main () {} - person mpen; 17.01.2012
comment
Powershell не идеален, если вы не хотите, чтобы у вас возникали проблемы с изучением и использованием нового синтаксиса сценариев / кодирования. Он отличается от C #. Хотелось бы, чтобы Powershell был больше похож на Beanshell на Java. - person David; 03.03.2012

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

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

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

person Daren Thomas    schedule 09.09.2008

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

person AR.    schedule 14.10.2008
comment
Это отличный инструмент для работы, спасибо! Он у меня уже был, но я никогда не пробовал просто запускать код. Это приятно, потому что он также запускает VB и может запускать выражения или операторы, а также, очевидно, выполнять LINQ2SQL для действующей базы данных и выполнять обычные SQL-запросы. - person gregmac; 17.02.2011

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

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

person Dale Ragan    schedule 06.09.2008
comment
Не так быстро и просто, как интерпретаторы сценариев, но, безусловно, наиболее полезно из тех, что я пробовал. Приятно иметь возможность легко добавлять кучу ссылок на мои библиотеки. Спасибо, Дейл! - person Jason; 04.03.2010

Похоже, меня преследовал Мигель де Икаса:

http://tirania.org/blog/archive/2008/Sep-08.html

person FlySwat    schedule 09.09.2008

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

person LJ.    schedule 06.09.2008

Я полагаю, вы ищете Snippy =)

Snippy Screenshot

person aleemb    schedule 05.02.2009