Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
例如:
Validate("items.Select(item => item.ToLower())")
将返回 True,而
Validate("var n=5;")
将返回 False。
上下文是我想创建一个允许用户通过 lambda 表达式操作其数据的应用程序。如果用户输入了一个有效的 lambda 表达式,程序就会执行它。否则,它应该会失败。
我建议保持简单并尝试执行它。如果它无效,它无论如何都会在几毫秒后失败。
它还处理语法上有效但因不同原因而失败的表达式。
如果您选择采用这种方法,那么只需要使用 Dynamic Linq 库就可以了。