Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 7
1

Выполнение в c# скриптов, написанных на других языках

21.11.2013, 20:01. Просмотров 1090. Ответов 9
Метки нет (Все метки)

Доброго времени суток!

У меня такой вопрос: предположим, есть строка (string) с кодом, например, на Visual Basic (или C). Можно ли запустить и выполнить этот код (хранящийся в строке) в проекте C# .Net?

Например, используя DLR (IronPython или IronRuby)
Если можно, объясните, пожалуйста (или киньте ссылку), с чего можно начать. Если нет, подскажите, как это можно реализовать другим способом.

Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2013, 20:01
Ответы с готовыми решениями:

Использование dll в других языках
Добрый вечер. Ситуация такая, у меня есть dll(библиотека классов) написанная на C#. Смогу ли я...

Аналог оператора 'in' в других языках
Господа небольшой вопрос, в шарпе есть contains, который в принципе является аналогом in, но...

Метод Contains аналог оператору 'in' в других языках программирования
Не могу никак найти решение проблемы. В других языках программирования есть оператор вхождения in....

Объединение модулей написанных на разных языках
Не знал в каком разделе создать тему, потому создал здесь. Я сейчас учу C/C++, мои друзья же...

9
Эксперт Java
4066 / 3800 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
21.11.2013, 21:33 2
Странно, гугл выдает тонну материала по теме.
Вот пример с IronPython - http://stackoverflow.com/questions/7053172/how-can-i-call-ironpython-code-from-a-c-sharp-app
0
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 7
21.11.2013, 21:39  [ТС] 3
Как я себе это представляю: есть код на basic, дальше я разбираю его (парсер) и для каждой команды basic вызываю соответствующую команду IronPython, правильно?
0
Эксперт Java
4066 / 3800 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
21.11.2013, 21:47 4
Вы что-то сложное описываете.
Какая у вас вообще задача?
0
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 7
21.11.2013, 21:53  [ТС] 5
Есть код на Basic в текстовом файле - мне нужно считать с файла этот код и выполнить. Реализовать на C#. Т.е. я беру этот код, кидаю в строку, разбираю на конструкции и.. мне надо их выполнить. На хабре пост про DLR - вроде подходит, но уж очень непросто всё это выглядит)
0
Эксперт Python
4277 / 1726 / 322
Регистрация: 17.03.2012
Сообщений: 9,206
Записей в блоге: 5
22.11.2013, 07:49 6
Цитата Сообщение от MilaMesh Посмотреть сообщение
У меня такой вопрос: предположим, есть строка (string) с кодом, например, на Visual Basic (или C). Можно ли запустить и выполнить этот код (хранящийся в строке) в проекте C# .Net?
VB и C# - языки компилируемые. Следовательно, этот код надо будет скомпилировать.
Этим занимается класс CodeDomProvider, гуглите dynamic compilation.

Цитата Сообщение от MilaMesh Посмотреть сообщение
Например, используя DLR (IronPython или IronRuby)
А это уже интерпретатор. В общем, любой нормальный язык можно прикрутить.
1
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 7
22.11.2013, 14:37  [ТС] 7
Большое спасибо! Буду разбираться)
0
Заблокирован
22.11.2013, 21:06 8
Цитата Сообщение от MilaMesh Посмотреть сообщение
Например, используя DLR (IronPython или IronRuby)
DLR Script Runtime

Класс C# ScriptRuntime - компилирует и исполняет все это + javascript.
1
620 / 488 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
22.11.2013, 22:14 9
1) Сохранить как файл сам код, и пусть юзер укажет метод, являющийся точкой входа.
2) Рядом сохранить фал проекта к нему
3) Сбилдить с помощью MSBuild

4) Если без ошибок сбилдилось, загрузить в домен, выполнить метод, указанный юзером в качестве точки входа
1
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 7
23.11.2013, 11:00  [ТС] 10
Ок, спасибо, понятно теперь)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2013, 11:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Почему некоторые программы на языке Python работают медленнее своих аналогов написанных на языках C/C++?
Python

Возможность запуска программ написанных в Borland C++ 6 на других компьютерах (без компилятора)
как сделать чтобы можно было запускать программы написанные в borland C++ 6 на других компьютерах...

Работа с сопрограммами и подпрограммами на других языках
Подскажите есть ли в стандартах std или иные кросплатформенные методы работы с сопрограммами и...

Наследование в CSS, как в других языках программирования
Здравствуйте! Я только начинаю изучать HTML и CSS, хотя, с программированием уже знаком на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.