我可以定義一個lambda表達式FUNC爲:C# - 我可以根據用戶提供的字符串公式定義一個函數嗎?
Func <int, int, int> Fxy = ((a,b) => a + b)); // Fxy does addition
但如果我想允許用戶提供r.h.s. lambda表達式在運行時?
String formula_rhs = Console.Readline();
// user enters "a - b"
我可以以某種方式修改FXY我彷彿編碼
Func <int, int, int> Fxy = ((a,b) => a - b)); // Fxy does what the user wants
// (subtraction)
我目前用家建表達式解析器來接受用戶定義的公式。剛剛啓動w .NET,我感覺可能會有一種不太痛苦的方式來做到這一點。
你見過Dynamic LINQ嗎? http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx – Gabe 2011-03-23 13:33:48
請參閱:http:// stackoverflow。 COM /問題/ 2965597 /淨-4-運行代碼從串式-CF-的IronRuby,IronPython的 – RBZ 2011-03-23 14:47:46