什么';这是在我的C#应用程序中嵌入IronPython的最佳方式

本文关键字:IronPython 方式 最佳 应用程序 我的 什么 | 更新日期: 2023-09-27 17:47:25

我有一个非常节省技术的人使用的应用程序,他们想要小的可编程性,所以我使用了嵌入式Iron Python。

然而,由于IronPython2.0Eval()不再工作。具体来说,我不能同时加载模块和注入局部变量。

有一个问题,我仍然可以调用Execute(),打印出我的答案并听StandardOut,但后来它变成了一个字符串,我丢失了类型。

这不是一场长期的灾难,但对更复杂的物体来说是一场巨大的痛苦。

有人知道如何让Eval()在2.0中像在1.x中那样重新工作吗?

干杯,一月

什么';这是在我的C#应用程序中嵌入IronPython的最佳方式

您是否可以更具体地描述这个问题,并提供一个代码示例?"eval"风格的功能肯定仍然存在,尽管正如您所注意到的,自1.0以来,托管界面已经发生了很大的变化。

这在测试版5:中有效

ScriptEngine engine = Python.CreateEngine();
ScriptSource source = engine.CreateScriptSourceFromString("2 + 5", SourceCodeKind.Expression);
int result = source.Execute<int>();

顺便说一句,在这里使用正确的SourceCodeKind是至关重要的。

此示例可能会帮助您:http://www.voidspace.org.uk/ironpython/dlr_hosting.shtml