Quiero crear un ensamblaje utilizando IronPython puede llamarlo desde C#. Aquí hay dos cosas que estoy no preguntando.¿Cómo creo un ensamblado .NET en IronPython y lo llamo desde C#?
No estoy preguntando cómo llamar a C# desde IronPython. La documentación más fácil de encontrar describe cómo llamar a C# desde IronPython. (Por ejemplo, el tutorial que se envía con IronPython.) Quiero hacer lo contrario, llamar a IronPython desde C#.
No estoy pidiendo cómo incrustar el intérprete IronPython. He encontrado varias referencias útiles (por ejemplo, here y here) sobre cómo llamar al intérprete de IronPython desde C#. Eso es útil, pero estoy más interesado en crear un ensamblado compilado de IronPython. Es decir, me gustaría realizar llamadas a métodos en el ensamblaje de IronPython en lugar de pasar cadenas de código fuente al intérprete.
Una vez que he creado el conjunto, ¿cuáles son algunos consejos para llamar? Una blog post encontré dijo:
... llama a un montaje de Python desde C# no es trivial. Que el montaje pitón contiene tipos dinámicos, que no son reflejadas fácilmente en útiles C# objetos.
¿Conoces algún tipo de hoja de trucos para pasar tipos de datos básicos entre IronPython y C#?
actualización: El escenario que más me interesa por ahora está pasando dos o tres double
valores en Python y conseguir uno o dos double
valores de nuevo. Si pudiera pasar una cuerda y recuperar una cuerda sería fantástico, pero mi primera prioridad es simplemente pasar números de un lado a otro.
¿Se puede compilar el IronPython en un objeto ActiveX? Si es así, consumirlo con C# no es pan comido. – DMCS
Wayback Máquina para [crear y consumir IronPython Asambleas] (https://web.archive.org/web/20090828232639/http://www.sogeti-phoenix.com/Blogs/post/2008/03/Creating-and- Consuming-IronPython-Assemblies.aspx) – Ouroborus