在当前范围内运行动态代码

本文关键字:动态 代码 运行 范围内 | 更新日期: 2023-09-27 18:24:36

是否有任何方法可以运行动态代码来访问当前范围内的变量,如javascript eval,或者即使任何脚本语言都可以做到这一点?

我想要Jscript.net,但不能在mono中运行。

在我的模板系统中

<tag:field name="description" 
    eval="@this.Substring(0,@this.Length<100?@this.Length:100)" />

当执行这个标签时,它将运行这个c#代码并替换标签

return Field["descripton"]
    .Substring(0,Field["descripton"].Length<100?Field["descripton"].Length:100);

在当前范围内运行动态代码

我无法在这里提供确切的答案,我认为提问有点开放,所以可能还有其他选择。

但我用跳蚤做了类似的事情(https://flee.codeplex.com/wikipage?title=LanguageReference)图书馆。

它允许您在上下文中执行任意语句。您必须创建一个包含语句可能需要的所有变量的闭包上下文,并执行该语句。

只是一个提示,但我知道它对我有用。