你如何在C#中进行动态脚本评估?

Dea*_*ane 6 c# reflection dynamic

C#中动态代码评估的状态是什么?对于我正在开发的应用程序的一个非常高级的功能,我希望用户能够输入一行应该评估为布尔值的C#代码.

就像是:

DateTime.Now.Hours > 12 && DateTime.Now.Hours < 14
Run Code Online (Sandbox Code Playgroud)

我想动态评估此字符串并将结果捕获为布尔值.

我试过了Microsoft.JScript.Eval.JScriptEvaluate,这很有效,但它在技术上已被弃用,它只适用于Javascript(不理想,但可行).另外,我希望能够将对象推送到脚本引擎中,以便可以在评估中使用它们.

我发现提到的一些资源动态编译程序集,但这比我想要处理的更多开销.

那么,C#中动态脚本评估的状态是什么?有可能,还是我运气不好?