作業中需要將字串生成Fun陳述句,從網上查到了以下陳述句:
public List<JiChuKu> Get_Jck(string expressiong)
{
expressiong = @"(JiChuKu x) => " + expressiong; //形如 x.行政區域 == "北京" || x.行政區域 == "上海" || x.行政區域 == "河北" && x.區域城市 == "城市" && x.含水層層位 == "淺層" && x.含水層層位 == "中深層"
var options = ScriptOptions.Default.AddReferences(typeof(JiChuKu).Assembly).AddImports("Module");
var funcb = CSharpScript.EvaluateAsync<Func<JiChuKu, bool>>(expressiong, options).Result;
List<JiChuKu> SelectedList = JiChuKuData.Where(funcb).ToList();
return SelectedList;
}
上面陳述句是可以運行的,但有許多問題:
1、為了使用上面的兩句代碼,我得需要下載4個dll(合起來400M),

2、上面的代碼雖然正常運行,但我后來用installer project生成安裝程式時,就出現分析器參考失敗了...

3、我在網上研究了半天,發現.net自帶的那個System.Linq.Expressions中自帶的 LambdaExpression好像可以輕易解決這類事情
但我水平太低,哪位有心人有時間有能力,能幫我一下呢?
謝謝。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/236979.html
標籤:C#
上一篇:DBA比軟體開發輕松嗎?
下一篇:網頁布局
