示例:
条件:
如果A> B那么
打印B
ELSE
打印A
此条件在SQL的表格的coloumn中写为字符串。
我想从表中获取此条件并将此条件转换为C#代码
如果(A> B)
{
打印B ...........
}
否则
{
打印A ...........
}
其中A和B是从解决方案传递的动态值 假设A = 10且B = 20 然后
执行将根据条件返回10或20的代码。
答案 0 :(得分:0)
这取决于你想要做什么,但解决这个问题的一种可能方法是使用Microsoft.JScript程序集。虽然JScript与c#有点不同,但大部分语法都相同或相似。更重要的是,JScript基于全局范围,因此无需将您生成的代码包装在方法中。
您将在以下步骤中执行以下操作:
但是由于这对于类型/程序集的创建(可能无法卸载)相当沉重,我建议(使用上面的方法)为jscript eval()函数编译一个简单的包装器,并简单地提供你的jscript到那个代码。那你就不用担心编译等了。
虽然在创建动态代码时要小心。整个.Net框架都可以使用,所以除非你完全信任条件的来源,或者限制编译的程序集,否则可能会发生讨厌的东西。
答案 1 :(得分:0)
答案 2 :(得分:0)
这里有一个答案,解释了如何重用每个Windows安装附带的Javascript引擎DLL:parse and execute JS by C#。
它有一个样本,可以根据您的需要调整功能。