0
我有一个文本框,我希望用户指定在if
语句中使用的条件表达式。例如,让我们说在我的代码中,我有一个名为myVariable
的int
具有一定的价值。然后用户输入一个 “C#-parsable” 表达如如何实现用户生成的条件语句?
@myParameter < 20
,或者甚至
@myParameter > 5 && @myParameter < 20
成myTextBox
。我想我的代码是像
ConditionalExpression cond = new ConditionalExpression();
cond.Expression = myTextBox.Text; //Get the text from textbox.
cond.Parameters.Add("@myParameter",myVariable); //use value of 'myVariable" at "@myParameter"
if (cond.Evaluate()){ //if cond evaluates to true
//do stuff
}
是否有任何形式的类的,我可以使用实现字符串解析,或做我必须做的字符串分析我自己,然后以某种方式利用来自系统的条件表达式类.Linq.Expressions?
谢谢。
.NET中没有内置的东西,你可以简单地将你的字符串输入并返回,这样做就可以完成。至少不是没有更多的工作。那里有图书馆,但是,这可能会给你你想要的。 –
适用于Linq的对象或EF/SQL?如果这是EF,则可能需要使用[ObjectQuery上的QueryBuilder方法](http://msdn.microsoft.com/zh-cn/library/bb338811(v = vs.110).aspx)而不是解析字符串并手动生成表达式树。 –