我可以用 lambda 表达式定义一个 func,如下所示:
Func <int, int, int> Fxy = ( (a,b) => a + b ) ); // Fxy does addition
但是,如果我想让用户在运行时提供 lambda 表达式的 rhs 怎么办?
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,我觉得可能有一种不太痛苦的方法来做到这一点。