C # как язык сценариев

Возможный дубликат:
Лучший способ вызова управляемого кода .NET из неуправляемого кода

Мне любопытно узнать, могу ли я использовать C # в качестве языка сценариев, размещенного в нативном приложении c ++. Я работаю над собственным игровым движком в течение 5 лет, но я никогда не касался его сценариев. Мне нравится, как в Unity я могу писать скрипты на C # для различных объектов в игре.

Я немного искал, но не смог найти ничего полезного.

Обратите внимание, что мой вопрос относится не к .Net, а к C # как к общему языку.

Просто чтобы убедиться, я скажу следующее: я не хочу вызывать нативный c ++ из C #. Я хочу это наоборот.

Если бы кто-то мог указать мне на некоторые ресурсы, я был бы признателен.

7

Решение

Да, вы хотите разместить CLR в своем собственном приложении. Вот статья MSDN, которая идет по этому.

http://msdn.microsoft.com/en-us/magazine/cc301479.aspx

У автора этой статьи также есть книга, которая охватывает все ее аспекты. После того, как вы запустите CLR и запустите в своем приложении, если вам нужны настоящие сценарии, вы захотите динамически скомпилировать код, и Cirrus предоставил несколько ссылок о том, как это сделать.

Вам также неизбежно понадобится представить части вашего основного приложения в пространстве имен CLR. В противном случае вы не сможете получить доступ к каким-либо специфическим функциям основного хостинг-приложения.

РЕДАКТИРОВАТЬ: Когда я говорю «истинный сценарий», я имею в виду, что вы используете текстовые файлы с расширением .cs для ваших сценариев во время выполнения. Было бы более эффективно скомпилировать их заранее, а затем включить .DLL в размещенное приложение, однако вы можете сделать это обоими способами.

6

Другие решения

Вы можете посмотреть на источники CSRepl Рикард Нильссон. Это интерактивный переводчик C #. Он не содержит CLR, поскольку управляется, но создает среду сценариев C #.

0
По вопросам рекламы [email protected]