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)而不是解析字符串並手動生成表達式樹。 –