Консоль C#? [закрытый]


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

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

Остроконечная подошва http://www.gfilter.net/junk/sharpconsole.jpg

Если кто-то хочет этого, позвольте мне знать.

7 29

7 ответов:

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

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

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

Нашел это на reddit: http://tirania.org/blog/archive/2008/Sep-08.html

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

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

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

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

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

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

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

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

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

Фрагмент Скриншота