Получить CodeExpression из строки Python, используя IronPython? - PullRequest
1 голос
/ 03 марта 2011

Я пытаюсь получить CodeExpression из строки python. Это кажется возможным, поскольку в некоторых документах по DLR упоминаются классы CodeDom, но я не смог найти ни примеров, ни лучших документов. Любое понимание или psuedocode приветствуется ...

К вашему сведению, в данном случае используется Asp.Net ExpressionBuilder, который может оценить использование python в SharePoint 2010. Дайте мне знать, если есть что-то подобное!

1 Ответ

0 голосов
/ 04 марта 2011

В IronPython 1.0 и 1.1 был поставщик CodeDom, но он никогда не был портирован на 2.x.Частично проблема заключается в том, что модель CodeDom не очень хорошо работает с Python, потому что CodeDom часто используется (и в частности ASP.NET) для создания кода, его компиляции, а затем загрузки полученной сборки и получения некоторых типов изЭто.Этот последний бит трудно обеспечить без каких-либо компромиссов в языке.Но в 1.x мы поэкспериментировали с этим, и провайдер CodeDom может скомпилировать классы, которые можно загрузить - сработали базовые образцы ASP.NET.Так что вы могли бы это сделать.

Интересно, вы могли бы сделать C # CodeExpression, когда вместо этого выполняет код?Например scriptEngine.Execute ("строка кода")?Это сработало бы, если бы ваше выражение могло ссылаться на другие переменные, объявленные на странице - вы где-то создаете экземпляр страницы (или делаете ее статичной), а затем просто создаете выражение CodeExpression, которое запускает код через API-интерфейсы хостинга.

...