Консоль С#?[закрыто]
-
09-06-2019 - |
Вопрос
Кто-нибудь знает, есть ли консольное приложение С#, похожее на консоль 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#, а затем Линкпад это хороший вариант.Я нахожу это очень крутым/простым в использовании.
Я не уверен, чего вы ищете от этого приложения.Если просто попробовать какой-то код без необходимости создания проекта и всех накладных расходов на простое тестирование идеи, то Компилятор фрагментов может подойти.
Я просто хотел предложить тебе другой вариант.
Похоже, Мигель Де Икаса преследовал меня:
Google сообщает о нескольких попытках в этом направлении.Один из них, в частности, иллюстрирует, почему это не так просто, как может показаться. http://www.codeproject.com/KB/cs/csi.aspx имеет базовый интерпретатор, использующий встроенную в .NET возможность компилировать код C#.Ключевая проблема заключается в том, что авторский подход создает новую мини-сборку .NET для каждой интерпретируемой строки.C# может иметь отражающую силу, позволяющую иметь консоль в стиле Python или Ruby, но библиотеки платформы .NET ориентированы на компиляцию C#, а не на его динамическую интерпретацию.Если вы серьезно относитесь к этому, вы можете посмотреть http://www.paxscript.net/, что выглядит как настоящая попытка интерпретировать C#.
Я верю, что ты ищешь Сниппи =)