在ASP.NET 5中动态执行字符串作为代码(eval)

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (113)

有没有办法在ASP.NET 5中使用Roslyn将字符串作为C#代码执行?

在我的情况下,我想动态地将字符串转换为linq表达式。

例如:

obj.SomeFunc( "x => x.Username".ToLinqExpression() );

或类似:

Eval("obj.SomeFunc(x => x.Username); ");

这在ASP.NET 5中是否可行?

提问于
用户回答回答于

你可以使用Roslyn Scripting。例如:

public class Globals
{
    public ObjType obj;
}

…

CSharpScript.EvaluateAsync(
    "obj.SomeFunc(x => x.Username)", globals: new Globals { obj = obj });
用户回答回答于

如前所述,您可以尝试使用Dynamic Linq。我曾经习惯于根据动态属性生成排序,它似乎运行得很好。

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问9 回答
  • uncle_light

    5 粉丝518 提问8 回答
  • 富有想象力的人

    3 粉丝0 提问7 回答
  • 无聊至极

    4 粉丝504 提问6 回答

扫码关注云+社区

领取腾讯云代金券