Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

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

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

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

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 ориентированы на компиляцию C#, а не на его динамическую интерпретацию.Если вы серьезно относитесь к этому, вы можете посмотреть http://www.paxscript.net/, что выглядит как настоящая попытка интерпретировать C#.

Я верю, что ты ищешь Сниппи =)

Snippy Screenshot

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top