разделение переменных между powershell и C # - PullRequest
3 голосов
/ 14 июня 2011

Я пытаюсь создать приложение для сборки документов в .Net, которое позволит встраивать правила и условия в фрагменты документа, предположительно с использованием какого-либо языка сценариев (и я не хочу изобретать свой собственный язык сценариев)

Мне нужна возможность для кода C # вызывать язык сценариев и наоборот, но важно, чтобы я также имел возможность обмениваться произвольными структурами данных по ссылке (а не просто передавать пару строк назад ивперед по значению)

Могу ли я сделать это с powershell или мне нужно использовать язык DLR, такой как IronPython?Приходите к этому, есть ли другие преимущества использования языка DLR, которые означают, что я все равно должен использовать DLR?

Andy

Ответы [ 2 ]

2 голосов
/ 14 июня 2011

Я думаю эта статья - это именно то, что вы ищете (для Powershell, во всяком случае).

Использование языка DLR может приблизить фрагменты кода, который вы будете выполнять, к вашему дому. Вызов Powershell из приложения .NET выполняется в новом потоке в соответствии с приведенной выше статьей.

В любом случае я лично опасался бы выполнения случайных битов на любом языке сценариев без определения подмножества разрешенных команд и проверки входных данных.

0 голосов
/ 14 июня 2011

Powershell может создавать экземпляры и использовать объекты C # (или любые .NET) очень хорошо. Я никогда не пробовал, чтобы код C # вызывал команды powershell, но я был бы удивлен, если бы он не мог. Тем не менее, маршрут DLR тоже хорош, и на самом деле есть примеры в книге DSL Айенде http://www.amazon.com/DSLs-Boo-Domain-Specific-Languages/dp/1933988606/ref=sr_1_1?ie=UTF8&qid=1308063119&sr=8-1, которые могут быть полезны и вам (даже если вы в конечном итоге не используете Boo, это хорошее чтение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...